js的作用域之静态作用域
2016-09-01 00:00
211 查看
js学习之作用域
function f1() { alert(v); } function f2() { var v = 100; f1(); } f2();
执行上述代码,会发现程序报错 v : undefined
为什么呢?这就和js的作用域有关了
f1在定义的时候, js解析器会给f1定义一个内部的属性叫scope, 按照f1定义时的词法环境,scope是指向window的,所以当f2调用f1的时候, 程序首先会在f1的函数体内寻找变量v, 没找到, 就去window中去寻找v,也没有变量v,所以程序就报错了。
也就是说,f1的作用域是在定义的时候就已经决定了,而不是在调用时决定的。这也就是所谓js的静态作用域
相关文章推荐
- 静态html文件js读取url参数
- 为JS脚本中String对象扩展一个静态Format()方法
- JS静态分页程序
- 注意细节js变量作用域
- ASP.NET Web 开发中的静态资源(JS、CSS、图片)版本控制
- 静态页面利用JS读取cookies记住用户信息
- JavaScript 静态方法 js静态方法
- CSS+JS实现的静态页面翻页效果
- 利用js方法实现html静态页面间参数传递
- js变量作用域及可访问性的探讨
- 静态html文件js读取url参数
- 静态html文件js读取url参数
- JavaScript init 静态方法 对象语言 JS 值传递 函数 Archive Boolean for
- 利用js方法实现html静态页面间参数传递
- js变量作用域及可访问性的探讨
- 利用js方法实现html静态页面间参数传递
- js变量作用域及可访问性的探讨
- jS静态分页代码
- js 实现静态页面接受参数
- js的作用域和访问对象私有域