1 回答
莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
第一個是閉包,loop1,loop2,loop3,loop4,loop5中的變量引用的變量i其實是同一個,都是父function(這里應(yīng)該是全局作用域)中的i。
注意:它們引用的是同一個變量,都是循環(huán)中的那個i。
所以當(dāng)for循環(huán)結(jié)束的時候,i已經(jīng)是6了;
所以調(diào)用loop1的時候,又因為輸出的是i++(++在后,先引用,后加),即輸出6,但i已經(jīng)是7了;
后面依此類推,分別輸出7,8,9,10.
第二個是匿名函數(shù)自執(zhí)行,要注意跟第一個的區(qū)別。匿名函數(shù)自執(zhí)行的方式可以看到,變量i以形參的形式傳遞到匿名函數(shù)內(nèi)部了,所以在這個匿名函數(shù)中用到的i就不再是父function中的變量i了,完全是不同的兩個。而且由于匿名函數(shù)自執(zhí)行的原因,5個loop分別引用的也是各自的i,互不相關(guān)。
注意:它們引用的不再是同一個變量,不再是循環(huán)中的那個i
后面的就跟前面差不多了,不再解釋
這個題目考的是閉包,可以查看閉包的相關(guān)資料。
添加回答
舉報
0/150
提交
取消
