函数的做用域
在JavaScript中使用的是函数做用域,变量在声明它们的函数体以及这个函数体嵌套的任意函数体都是有定义的函数
ES6标准中的做用域 spa
为何须要块级做用域code
全局做用域和函数做用域,没有块级做用域,容易出现下列问题:
1) 变量提高致使内层变量可能会覆盖外层变量ip
-
var i = 5;
-
function func() {
-
console.log(i);
-
if (true) {
-
var i = 6;
-
}
-
}
-
func(); // undefined
2) 用来计数的循环变量泄露为全局变量作用域
-
for (var i = 0; i < 10; i++) {
-
console.log(i);
-
}
-
console.log(i); // 10
ES6标准中的的块级做用域
‘块级做用域’经过新增命令let和const来实现,将会在之后介绍io