函數的做用域
在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