鍍金池/ 問答/HTML/ 如何理解ES5中for循環(huán)中的i值呢?

如何理解ES5中for循環(huán)中的i值呢?

ES5

var a = [];
    //ES5
    for(var i=0;i<10;i++){
        a[i] = function(){
            console.log(i);
        }
    }
    a[2]();

執(zhí)行代碼a[2]() 打印出來的值是10;
本人大致的理解是:函數(shù)里面獲取i值時(shí),只能獲取到全局作用域的i,全局作用域的i就是循環(huán)體里面i"泄露"到全局的。

我不確定自己的理解是不是錯(cuò)了,希望聽聽大神的意見。謝過

回答
編輯回答
兔寶寶

js只有函數(shù)內(nèi)是局部變量
所有for循環(huán)內(nèi)var i=0;,i是全局變量
函數(shù)是在調(diào)用時(shí)取值的
調(diào)用時(shí)循環(huán)已結(jié)束i為10所以獲取的是10

2017年1月22日 04:54
編輯回答
脾氣硬

我覺得十三說得對

有利于你了解變量作用域喲

順帶看看ES6的let和塊狀作用于吧

2017年5月8日 15:14