javascript 作用域详解
来源:互联网 发布:gta5优化补丁3dm 编辑:程序博客网 时间:2024/05/22 17:09
首先介绍几个名词,第一次理解不了没关系,下面有详细的例子帮助理解。读完本文应该对js的作用域有个清晰的认识。
1.执行环境(简称为环境)
问1:什么是执行环境?
答:js代码由变量和函数两部分组成。执行环境定义变量和函数的作用域范围。
问2:执行环境太抽象了,有没有什么看见摸得着的来帮助理解?
答:执行环境概括的说只有两种。
<html> <head></head> <body> <script> var aa = 12; function bb () { var cc = 'hello javascipt'; alert(cc); } </script> </body></html>
- 第一种:全局执行环境。即html/jsp中最外层的一个环境,通常理解为window对象。
上述代码中就存在一个全局执行环境,这个环境中有一个变量 aa和一个函数 bb;
调用全局执行环境中的变量 window.变量名,window. 也可以省略,如 window.aa;
调用全局执行环境中的函数 window.函数名() ,window. 也可以省略,如 window.bb()。
- 第二种:每个函数都有自己的执行环境。通常所说的执行环境都指这个,因为全局执行环境一个页面也就那么一个。
上述代码中bb函数就有一个执行环境——也可以认为是局部执行环境。这个执行环境中只有一个变量 cc。
问3:执行环境什么时候被创建,什么时候被销毁?
答:全局执行环境和局部执行环境分开说。
- 对于全局执行环境
加载页面时创建全局执行环境,关闭网页或浏览器时销毁全局执行环境。
- 对于局部执行环境
当调用这个方法时才会创建执行环境,单独的一个方法不去调用它是不会创建执行环境的;
该执行环境中所有代码执行完毕后,环境被销毁,保存在其中的所有变量和函数也随之销毁。
2.变量对象
每一个执行环境都有一个与之一一关联的变量对象。
问:什么是变量对象?
答:执行环境中定义的所有变量和函数都是存放在这个变量对象里的。
0 0
- JavaScript作用域详解
- 详解JavaScript作用域
- javascript 作用域详解
- javascript作用域详解
- javascript基础详解-作用域
- javascript 函数作用域 详解
- JavaScript作用域链及案例详解
- JavaScript中的作用域链详解
- javascript 作用域、this详解 待更新
- 详解javascript作用域和闭包
- JavaScript 作用域链图详解
- javascript作用域与作用域链详解
- JavaScript的函数作用域与作用域链详解
- JavaScript作用域、作用域链、闭包详解
- javascript作用链进一步详解
- JavaScript 双叹号(!!)作用 详解
- javascript函数,变量声明及作用域详解
- JavaScript之作用域与闭包详解
- 9
- **MATLAB** 命令和语句
- java构造器和this总结
- linux程序设计:信号
- Struts2自学入门(十一)——防止表单重复提交
- javascript 作用域详解
- 怎么让自定义的脚本文件在任何路径下输入文件名可直接运行
- JAVA 集合(二)--collection
- openstack identity
- jquery 对后来生成的js代码的click事件无效
- Hibernate查询方式
- 数据库学习之存储过程
- 238. Product of Array Except Self
- Unity菜鸟起飞01 -- 基础知识