1. 程式人生 > >for 語句中變數的作用域問題

for 語句中變數的作用域問題

一、for迴圈語句的花括號不能代表作用域,實際上整個for內部的語句的作用域與for屬於同一級作用域。

for (true){

var color ="blue";

}

alert (color); //blue

因此 ,常見一種JS題目。

for (var i = 0;i<10;i++){

    doSomethiing(i);

}

alert(i); //  10

這裡在for執行完後,由於for內部的i與alert 、for處於同一級作用域,因此i=10。

但是對於函式而言,則花括號決定了函式內的語句作用域屬於函式內部。