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 相关文章推荐
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Sep 13 Javascript
Iframe 自动适应页面的高度示例代码
Feb 26 Javascript
单击某一段文字改写文本颜色
Jun 06 Javascript
javascript包装对象实例分析
Mar 27 Javascript
Angular.js如何从PHP读取后台数据
Mar 24 Javascript
在web中js实现类似excel的表格控件
Sep 01 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
JS ES6多行字符串与连接字符串的表示方法
Apr 26 Javascript
详解angularjs跨页面传参遇到的一些问题
Nov 01 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
Oct 16 Javascript
node.js文件操作系统实例详解
Nov 05 Javascript
nestjs返回给前端数据格式的封装实现
Feb 22 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
根德YB400的电路分析
2021/03/02 无线电
PHP备份数据库生成SQL文件并下载的函数代码
2012/02/05 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
js实现表单多按钮提交action的处理方法
2015/10/24 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python配置mysql的教程(推荐)
2017/10/13 Python
python logging日志模块的详解
2017/10/29 Python
分析Python读取文件时的路径问题
2018/02/11 Python
pandas将numpy数组写入到csv的实例
2018/07/04 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
幼师专业毕业生自荐信
2013/09/29 职场文书
洗煤厂厂长岗位职责
2014/01/03 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
《火烧云》教学反思
2014/04/12 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
出国签证在职证明范本
2014/11/24 职场文书
大国崛起日本观后感
2015/06/02 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers
使用Redis实现分布式锁的方法
2022/06/16 Redis