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 相关文章推荐
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
Mar 15 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
Jan 08 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
Oct 15 Javascript
在Javascript中处理数组之toSource()方法的使用
Jun 09 Javascript
javascript性能优化之DOM交互操作实例分析
Dec 12 Javascript
js面向对象的写法
Feb 19 Javascript
JS组件Bootstrap实现弹出框效果代码
Apr 26 Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
如何为你的JS项目添加智能提示与类型检查详解
Mar 12 Javascript
JS使用for in有序获取对象数据
May 19 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
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
2015/08/01 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
Mootools 1.2教程 事件处理
2009/09/15 Javascript
编写自己的jQuery插件简单实现代码
2011/04/19 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
详解nodejs通过代理(proxy)发送http请求(request)
2017/09/22 NodeJs
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
对于Python中线程问题的简单讲解
2015/04/03 Python
python实现爬虫下载美女图片
2015/07/14 Python
Python叠加两幅栅格图像的实现方法
2019/07/05 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
From CSV to SQLite3 by python 导入csv到sqlite实例
2020/02/14 Python
Python tornado上传文件的功能
2020/03/26 Python
python SOCKET编程基础入门
2021/02/27 Python
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
重阳节登山活动方案
2014/02/03 职场文书
网络研修随笔感言
2014/02/17 职场文书
办公用房租赁协议书
2014/11/29 职场文书
单位介绍信格式
2015/01/31 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
学校2016年圣诞节活动总结
2016/03/31 职场文书
七年级上册生物的课件
2019/08/07 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers