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 相关文章推荐
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 Javascript
浅谈jQuery中setInterval()方法
Jul 07 Javascript
11种ASP连接数据库的方法
Sep 18 Javascript
jQuery简单实现iframe的高度根据页面内容自适应的方法
Aug 01 Javascript
Vue.js每天必学之构造器与生命周期
Sep 05 Javascript
JavaScript中push(),join() 函数 实例详解
Sep 06 Javascript
JS之获取样式的简单实现方法(推荐)
Sep 13 Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 Javascript
JavaScript面试出现频繁的一些易错点整理
Mar 29 Javascript
公众号SVG动画交互实战代码
May 31 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 Javascript
JS+CSS实现过渡特效
Jan 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
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
2015/09/23 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
JavaScript 滚轮事件使用说明
2010/03/07 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
基于jQuery的一个扩展form序列化到json对象
2010/12/09 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
原生JavaScript实现Ajax的方法
2016/04/07 Javascript
jquery解析XML及获取XML节点名称的实现代码
2016/05/18 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
基于javascript实现按圆形排列DIV元素(三)
2016/12/02 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
vue车牌号校验和银行校验实战
2019/01/23 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python清理子进程机制剖析
2017/11/23 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python爬虫爬取幽默笑话网站
2019/10/24 Python
appium+python adb常用命令分享
2020/03/06 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
5款实用的python 工具推荐
2020/10/13 Python
python设置中文界面实例方法
2020/10/27 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
高校学生干部的自我评价分享
2013/11/04 职场文书
职业教育毕业生求职信
2013/11/09 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
教师工作表现自我评价
2015/03/05 职场文书
国博复兴之路观后感
2015/06/02 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
ubuntu下常用apt命令介绍
2022/06/05 Servers