您的位置:首页 > Web前端 > JavaScript

2017-03-21-js-js没有块级作用域

2018-02-03 23:40 239 查看

js没有块级作用域

在java中,有方法作用域也有块作用域

public void methodA(arr) {
// java 有方法作用域
for(int i = 0; i < arr.length; i++) {
// java有块作用域,i只作用于这里面

}
// 在后面无法继续引用i
// System.out.println(i);
}


而在js中,只有方法作用域,没有块作用域

function methodB() {
// js有方法作用域
var arr = [1,2,3,4,5];
for(var i = 0; i < arr.length; i++) {
// js没有块作用域,
}
// 此处仍能获取i的值
alert(i); // 5
}

methodB();


即使我们定义了 var i。但是仍然是没用的,i的作用域会被提上去,等同于下面:

function methodB() {
// js有方法作用域
var i;
var arr = [1,2,3,4,5];
for(i = 0; i < arr.length; i++) {
// js没有块作用域,
}
alert(i); // 5
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js 块级作用域