JavaScript作用域
来源:互联网 发布:清华知乎 编辑:程序博客网 时间:2024/06/05 15:35
一. 作用域的概念
它是指对某一变量和方法具有访问权限的代码空间, 在JS中, 作用域是在函数中维护的.
表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。Javascript的作用域只有两种:全局作用域和本地作用域,本地作用域是按照函数来区分的。
二、作用域的注意事项
1.js的作用域是有函数划分的,而不是块儿
2.所属于全局作用域的变量都是window对象的属性
上面例子中 第一行的 too就是等于 window.too
例如:
是不是很奇怪,上面例子中函数中的too是局部变量,在这里就是全局变量了
注意下两个例子的区别,一个通过显示声明 var too
一个隐示声明too=”test”;
也就是说没有显示定义的变量,它就是全局变量,虽然它可能只能在这个函数内使用。
三、作用域实例
1、
2、
3、
4、
5、
四、this指针作用域
在这里列出this在ECMAScript中的不同含义:
(1) 在全局执行环境中使用this,表示Global对象,在浏览器中就是window对象。
(2) 当在函数执行环境中使用this时,情况就有些复杂了。如果函数没有明显的作为非window对象的属性,而只是定义了函数,不管这个函数是不是定义在另 一个函数中,这个函数中的this仍然表示window对象。如果函数显示地作为一个非window对象的属性,那么函数中的this就代表这个对象。 (当然可以使用apply或者call函数来取代默认this的引用)
(3) 当通过new运算符来调用函数时,函数被当做一个构造函数,this指向构造函数创建出来的对象。
五、作用域链
可以被看作一种路径, 沿着这条路径可以确定变量的值.
六、作用域链的特点
(1) var关键字决定了哪个函数是变量的作用域链的终点;
(2) 当引用一个变量时, JS会沿着由对象执行路径构成的作用域链进行解析, 查找变量最近定义的值, 一旦找到, 即使用该值.
- javascript的作用域
- javascript中的作用域
- JavaScript中的作用域
- JavaScript 变量作用域
- Javascript作用域浅析
- javascript的作用域
- JavaScript中的作用域
- javascript 变量作用域
- Javascript作用域
- javascript的作用域
- Javascript作用域原理
- Javascript作用域浅析
- Javascript作用域
- javascript变量作用域
- javascript的作用域
- 理解Javascript作用域
- JavaScript中的作用域
- Javascript作用域原理
- ARM Linux启动过程分析
- Android Studio 安装SVN的问题
- 怎么通过git工具把代码上传到新浪云里去
- Android WebView使用详解包括js互调(by 星空武哥)
- SQL之高级联结查询
- JavaScript作用域
- (最全版)Java与C++的异同
- OGG-01232 问题解决
- linux超级块和inode 详解 和 df 、du 命令详解与环境变量
- ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台
- 【拓扑排序】[2016"百度之星" - 初赛(Astar Round2A)]Gym Class
- centos 6.7 提示 XX用户不在sudoers 文件中
- OGG-00519 问题解决
- HDU-1166 ( 敌兵布阵 )