JS 没有块级作用域
2015-09-01 11:32
435 查看
在函数(方法)中声明的所有变量,他们在整个函数中都有定义
var scope="abc";
function f() {
alert(scope); //显示undefine
var scope="local";
alert(scope); //显示local
}
原因:由于作用域规则的限制,输出的并不是abc。由于局部变量在真个函数体内都是有定义的,这就意味这在真个函数题中都隐藏了同名的全局变量
上面的例子和下面的效果相同:
function f() {
var scope;
alert(scope); //显示undefine 因为该变量虽然声明但没有初始化。
var scope="local";
alert(scope); //显示local
}
var scope="abc";
function f() {
alert(scope); //显示undefine
var scope="local";
alert(scope); //显示local
}
原因:由于作用域规则的限制,输出的并不是abc。由于局部变量在真个函数体内都是有定义的,这就意味这在真个函数题中都隐藏了同名的全局变量
上面的例子和下面的效果相同:
function f() {
var scope;
alert(scope); //显示undefine 因为该变量虽然声明但没有初始化。
var scope="local";
alert(scope); //显示local
}
相关文章推荐
- C# - JSON详解
- RSA使用javascript加密JAVA解密
- EXTJS4.2 后台管理菜单栏
- JVM内存监控:visualVM jconsole jstatd jmap
- JS实现黑客帝国文字下落效果
- 关于加载重新js文件
- JavaScript中this详解
- Html/javascript动态添加/删除input控件到地址定位置
- CefSharp 与 js 相互调用
- 7种延迟加载javascript方法(转)
- jjs 产生undefined的情况
- 基于JavaScript制作霓虹灯文字 代码 特效
- js实现黑客帝国二进制雨
- html5_common.js
- JSP Custom Tags Example
- Designing JSP Custom Tag Libraries
- js原生无缝滚动demo
- JavaScript中知而不全的this (转)
- JS 多种变量定义
- JSP字体设置