javascript中关于执行环境的杂谈


Posted in Javascript onAugust 14, 2011

——这就要从JAVASCRIPT的解释器开始说起了:每当JAVASCRIPT解释器开始执行一个函数的时候,都会创建一个执行环境,并且还会产生一个和这个函数息息相关的变量对象,在这个执行环境中定义的一切变量或者函数都会被他保存起来。但是他就像有关部门,可能和你息息相关,但是你永远找不到他的身影,你是无法调用这个对象的,但是JAVASCRIPT解析器处理数据时便会调用到它。
点题就到此为止了,让我们真刀真枪来说说执行环境吧。先从全局执行环境开始,他处于整个执行环境的最外面,并且是作为window对象的属性添加的。

举个例子:

<html> 
<head> 
<script type="text/javascript"> 
var a = 1; 
(function(){ 
alert(window.a === a); 
})(); 
</script> 
</head> 
<body> 
</body> 
</html>

上面这个栗子,最后会弹出true。也就是说,我们在最外围定义的全局变量,最终都收编到了window上面了。每当一个执行环境中的代码全部执行结束之后,里面一干变量以及函数的定义都会被押下,销毁。吃果果的兔死狗烹啊。

但不得不说的是,Javascript的实现允许有多个全局执行对象。纳尼?!是的,用一个说烂了的栗子吧:IFRAME,IFRAME里面拥有者不同于浏览窗口的全局作用环境。当然如果这里牵涉了跨域获取属性,那么就要说到安全性了。恩,点到为止。就说那么多吧

Javascript 相关文章推荐
js+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
extjs grid取到数据而不显示的解决
Dec 29 Javascript
javascript 简练的几个函数
Aug 29 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
May 24 Javascript
JavaScript从数组中删除指定值元素的方法
Mar 18 Javascript
jquery实现动态改变div宽度和高度
May 08 Javascript
js实现HashTable(哈希表)的实例分析
Nov 21 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
js编写选项卡效果
May 23 Javascript
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
Vue press 支持图片放大功能的实例代码
Nov 09 Javascript
详解Vue数据驱动原理
Nov 17 Javascript
js中字符替换函数String.replace()使用技巧
Aug 14 #Javascript
js 通用javascript函数库整理
Aug 14 #Javascript
javascript中的数字与字符串相加实例分析
Aug 14 #Javascript
SyntaxHighlighter语法高亮插件使用说明
Aug 14 #Javascript
javascript高级学习笔记整理
Aug 14 #Javascript
jquery获得下拉框值的代码
Aug 13 #Javascript
Jquery中对数组的操作代码
Aug 12 #Javascript
You might like
谈谈新手如何学习PHP 默默经典版本
2009/08/04 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
JQuery 写的个性导航菜单
2009/12/24 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
windows下python之mysqldb模块安装方法
2017/09/07 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
Python对CSV、Excel、txt、dat文件的处理
2018/09/18 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
python drf各类组件的用法和作用
2021/01/12 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
JSF的标签库有哪些
2012/04/27 面试题
质检的岗位职责
2013/11/17 职场文书
交通法规咨询中心工作职责
2013/11/27 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js
详解SQL的窗口函数
2022/04/21 Oracle
MySQL优化之慢日志查询
2022/06/10 MySQL
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python