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验证表单大全
Nov 25 Javascript
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
Mar 01 Javascript
JS中for循序中延迟加载动态效果的具体实现
Aug 18 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
Mar 16 Javascript
js的flv视频播放器插件使用方法
Jun 23 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
JavaScript 最佳实践:帮你提升代码质量
Dec 03 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
May 03 Javascript
用node和express连接mysql实现登录注册的实现代码
Jul 05 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
Apr 11 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模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
修复ie8&amp;chrome下window的resize事件多次执行
2011/10/20 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
javascript如何写热点图
2015/12/08 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
JavaScript实现计算圆周率到小数点后100位的方法示例
2018/05/08 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
Python对列表中的各项进行关联详解
2017/08/15 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
python3 下载网络图片代码实例
2019/08/27 Python
Django中提示消息messages的设置方式
2019/11/15 Python
Python如何定义接口和抽象类
2020/07/28 Python
python破解同事的压缩包密码
2020/10/14 Python
行政人事专员岗位职责
2014/03/05 职场文书
承诺书格式范文
2014/06/03 职场文书
基层党员对照检查材料
2014/09/24 职场文书
就业推荐表院系意见
2015/06/05 职场文书
小学体育组工作总结
2015/08/13 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang