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 相关文章推荐
E3 tree 1.6在Firefox下显示问题的修复方法
Jan 30 Javascript
jQuery函数的等价原生函数代码示例
May 27 Javascript
js数值和和字符串进行转换时可以对不同进制进行操作
Mar 05 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
JavaScript实现彩虹文字效果的方法
Apr 16 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
Jul 26 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
javascript中JSON.parse()与eval()解析json的区别
May 19 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
微信小程序 http请求的session管理
Jun 07 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
vue实现的树形结构加多选框示例
Feb 02 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
星际中的相关伤害
2020/03/04 星际争霸
简单易用的计数器(数据库)
2006/10/09 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
禁止F5等快捷键的JS代码
2007/03/06 Javascript
DOM 脚本编程中的兄弟节点
2009/10/31 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
详解AngularJS中的表达式使用
2015/06/16 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
jquery插件jquery.confirm弹出确认消息
2015/12/22 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
python 实现归并排序算法
2012/06/05 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
银行实习的自我鉴定
2013/12/10 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
门前三包责任书
2014/04/15 职场文书
建筑投标担保书
2014/05/20 职场文书
离婚协议书怎么写
2014/09/12 职场文书
悬空寺导游词
2015/02/05 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
Python游戏开发实例之graphics实现AI五子棋
2021/11/01 Python