1. 程式人生 > >JS for迴圈結束後i的值

JS for迴圈結束後i的值

for(var i = 0; i < 10; i++){
    //todo:
}
console.log(i);

i的值為10.

起初並沒有仔細想, 認為迴圈結束後因為是i++, 在結束後還要加一次, 所以是10.

但是, 列印的i在迴圈體外邊.

"區域性變數"在外邊怎麼能列印?

事實上, for迴圈並不是函式體.  var宣告的是全域性變數.或者作用域上一級function

// 解決辦法
function foo() {
    var sum = 0;
    for (let i=0; i<100; i++) {
        sum += i;
    }
    i += 1; // SyntaxError
}