7 回答

TA貢獻(xiàn)55條經(jīng)驗(yàn) 獲得超37個(gè)贊
首先你要記住一個(gè)事情,函數(shù)是要經(jīng)過調(diào)用才能執(zhí)行的!在你的代碼中,首先會(huì)執(zhí)行for循環(huán),在循環(huán)里面,雖然定義了f()函數(shù),但是沒有進(jìn)行調(diào)用,所以,循環(huán)就從i=0,循環(huán)到i=5;但是沒有辦法執(zhí)行f()函數(shù),里面的console自然沒運(yùn)行,所以循環(huán)唯一的結(jié)果就是i從0走到了5然后循環(huán)結(jié)束;
然后執(zhí)行f()函數(shù),因?yàn)檫@里被調(diào)用了,會(huì)執(zhí)行以此console,但是這個(gè)時(shí)候i已經(jīng)是5了,所以只輸出5;
你說的那個(gè)結(jié)果應(yīng)該這樣寫:
?function?f(){ ????for(var?i=0;i<5;i++){? ??????console.log(i); ???} } f();
一上來就直接執(zhí)行被調(diào)用的f(),在函數(shù)里面直接循環(huán)5次,結(jié)果就是0,1,2,3,4

TA貢獻(xiàn)78條經(jīng)驗(yàn) 獲得超12個(gè)贊
閉包 ? ?外部通過函數(shù)內(nèi)部的方法調(diào)用函數(shù)中的成員變量,這個(gè)成員變量一直存在,直到方法結(jié)束。

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
循環(huán)了5次但是沒有調(diào)用f(),f()里的console.log(i),只有i變化了,但是f()沒有輸出。

TA貢獻(xiàn)146條經(jīng)驗(yàn) 獲得超54個(gè)贊
寫反了。?
? function?f(){
for(var?i=0;i<5;i++){
??????console.log(i);
???}
}
添加回答
舉報(bào)