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 相关文章推荐
在IE下:float属性会影响offsetTop的取值
Dec 22 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
js 动态选中下拉框
Nov 26 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
Nov 30 Javascript
jQuery使用之标记元素属性用法实例
Jan 19 Javascript
javascript手工制作悬浮菜单
Feb 12 Javascript
jQuery实现移动端滑块拖动选择数字效果
Dec 24 Javascript
JavaScript数据推送Comet技术详解
Apr 07 Javascript
详解Javascript函数声明与递归调用
Oct 22 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
Aug 01 Javascript
node.js使用express框架进行文件上传详解
Mar 03 Javascript
小程序云开发之用户注册登录
May 18 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实现指定字段的多维数组排序函数分享
2015/03/09 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
js实现简单的验证码
2015/12/25 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
简明 Python 基础学习教程
2007/02/08 Python
Python构建XML树结构的方法示例
2017/06/30 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python制作mysql数据迁移脚本
2019/01/01 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
Python全局变量与global关键字常见错误解决方案
2020/10/05 Python
UI自动化定位常用实现方法代码示例
2020/10/27 Python
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
北京大学自荐信范文
2014/01/28 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
答谢词范文
2015/01/05 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python