第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

聽(tīng)了幾遍,我也還是不能理解為什么i都是3?

為什么是變量提升(把變量的聲明提到所在作用域的最頂端)就使得結(jié)果i*2都是等于6呢?

正在回答

4 回答

https://img1.sycdn.imooc.com//5cd44f320001ad9303690288.jpg

打印結(jié)果:

https://img1.sycdn.imooc.com//5cd44f4800013dd202390136.jpg

當(dāng)調(diào)用callbacks[0]()時(shí),先執(zhí)行for循環(huán),直到i=3時(shí)執(zhí)行結(jié)束后,再向callbacks函數(shù)傳入i,執(zhí)行callbacks[3],循環(huán)三次。

所以這種情況 callbacks[i] ===callbacks[3]

https://img1.sycdn.imooc.com//5cd4509b0001bd1d04330099.jpg

注意:這里的index不是i,而是console.table({})中的數(shù)組下標(biāo)


3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Irma_C 提問(wèn)者

還是不懂,那為什么callbacks函數(shù)是循環(huán)條件不滿足之后才執(zhí)行呢,且還循環(huán)執(zhí)行3次?為什么不是每次進(jìn)入循環(huán)就接著執(zhí)行?
2019-05-13 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕圣3317083 回復(fù) Irma_C 提問(wèn)者

這里是我說(shuō)錯(cuò)了,重新說(shuō)一下我的理解。
2019-05-14 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕圣3317083 回復(fù) Irma_C 提問(wèn)者

我回去再看了一遍,發(fā)現(xiàn)運(yùn)行方式確實(shí)是我說(shuō)的那樣,至于為什么,我對(duì)閉包函數(shù)也沒(méi)怎么了解,無(wú)法解釋。 如果你想清楚知道為什么這樣執(zhí)行,可以去深入了解閉包函數(shù)。
2019-05-14 回復(fù) 有任何疑惑可以回復(fù)我~
#4

Irma_C 提問(wèn)者 回復(fù) 慕圣3317083

哦,好的,謝謝你
2019-05-14 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)
  1. 你的理解是錯(cuò)的,這個(gè)跟閉包沒(méi)關(guān)系,閉包只是能訪問(wèn)外部函數(shù)的變量i而已。

  2. 首先要理解該問(wèn)題要明白js是從上至下執(zhí)行的;

  3. 在代碼從上至下執(zhí)行到for循環(huán)的時(shí)候執(zhí)行了3次,每次i加一,但是循環(huán)體內(nèi)只是把數(shù)組callbacks[i]賦值了一個(gè)函數(shù)(function),但是該函數(shù)并沒(méi)有執(zhí)行,此時(shí)如果出入callbacks[i]得到的都是function的字符串;所以此時(shí)并沒(méi)有執(zhí)行function里面的console.log輸出i的值。

  4. 在代碼的最后一句console.table()中寫(xiě)的是:callbacks[0](),這句代碼的意思就是執(zhí)行了callbacks[0]指向的function,這時(shí)候才會(huì)執(zhí)行function的內(nèi)容而不是返回字符串;


  5. https://img1.sycdn.imooc.com//5d60e84a0001cc6125601378.jpg


2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

細(xì)雨騎驢入劍門(mén)

應(yīng)該就是這個(gè)原因,console的時(shí)候是for循環(huán)已經(jīng)執(zhí)行完成,i的值已經(jīng)為3的時(shí)候才開(kāi)始執(zhí)行的,所以i的值為3
2020-02-17 回復(fù) 有任何疑惑可以回復(fù)我~

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures可以看下這里講的閉包定義,感覺(jué)應(yīng)該比較好理解了

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Irma_C 提問(wèn)者

好的,謝謝你的分享
2019-06-05 回復(fù) 有任何疑惑可以回復(fù)我~

因?yàn)閕是全局變量,那當(dāng)頁(yè)面加載的時(shí)候,for循環(huán)是已經(jīng)執(zhí)行完成的,此時(shí)i的值就是3,那通過(guò)循環(huán)建立的callback函數(shù)的執(zhí)行循序是在for循環(huán)之后的,所以function里面的i一直未三

3 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
ES6快速入門(mén)
  • 參與學(xué)習(xí)       64180    人
  • 解答問(wèn)題       142    個(gè)

用最通俗、形象的方法描述ES6的強(qiáng)大并教會(huì)你正確的學(xué)習(xí)方法。

進(jìn)入課程

聽(tīng)了幾遍,我也還是不能理解為什么i都是3?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)