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 相关文章推荐
文字幻灯片
Jun 26 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Sep 26 Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 Javascript
微信小程序 地图定位简单实例
Oct 14 Javascript
jQuery.Form上传文件操作
Feb 05 Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 Javascript
js实现搜索栏效果
Nov 16 Javascript
Angular请求防抖处理第一次请求失效问题
May 17 Javascript
JAVA面试题 static关键字详解
Jul 16 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 Javascript
vue点击当前路由高亮小案例
Sep 26 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
php cURL和Rolling cURL并发方式比较
2013/10/30 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
javascript中的parseInt和parseFloat区别
2013/07/12 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
深入浅析Node.js单线程模型
2017/07/10 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[02:49]DAC2018决赛日TOP5 LGD开启黑暗之门绝杀VP
2018/04/08 DOTA
[54:10]完美世界DOTA2联赛PWL S2 Magma vs FTD 第二场 11.29
2020/12/03 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
python字符串的拼接方法总结
2019/11/18 Python
Python os模块常用方法和属性总结
2020/02/20 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
应届生英语教师求职信
2013/11/05 职场文书
大门门卫岗位职责
2013/11/30 职场文书
打架检讨书800字
2014/01/10 职场文书
面试后的感谢信范文
2014/02/01 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
人民调解协议书
2016/03/21 职场文书