javascript沒有塊級作用域

antzone發表於2017-04-10

在c#或者java這樣的語言中,都是有塊級作用域。

但是在javascript並沒有塊級作用域,只有全域性作用域和通過函式實現的區域性作用域。

看如下程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
function func() {
  var antzone = "螞蟻部落";
  for (var index = 0; index < 5; index++) {
    //code
  }
  console.log(antzone);
  console.log(index);
}
func();
console.log(antzone);

從上面的程式碼表現可以看出,antzone在函式外面無法訪問,因為屬於函式作用域。

在for迴圈執行完畢之後,依然可以訪問index,說明javascript並沒有類似的塊級作用域。

特別說明:在ES6中已經新增塊級作用域。


相關文章