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

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

setTimeout()函數(shù)引發(fā)的問題

setTimeout()函數(shù)引發(fā)的問題

慕粉4204745 2017-11-22 11:58:25
for (var i = 0; i < 5; i++) {? ? setTimeout(function() {? ? ? ? console.log('i: ',i);? ? }, 1000);}console.log(i);都是這是前端的經(jīng)典面試題,但是卻都沒找到一個(gè)好的解析,我有兩個(gè)問題,希望大家解答1.為什么console.log('i: ',i);輸出的都是5?2.為什么console.log(i) 比?console.log('i: ',i) 早輸出?知道的朋友希望能詳細(xì)些解說,謝謝。
查看完整描述

3 回答

?
牛奶老哥哥

TA貢獻(xiàn)204條經(jīng)驗(yàn) 獲得超92個(gè)贊

setTimeout是異步函數(shù)會掛機(jī)然后等所有同步代碼執(zhí)行完后才會開始執(zhí)行,所以for循環(huán)會循環(huán)完 i = 5,console.log(i) 會先執(zhí)行,然后掛機(jī)的五個(gè)setTimeout 開始執(zhí)行,在一秒后輸出 i:5 。
就醬,望采納。

查看完整回答
4 反對 回復(fù) 2017-11-22
?
qq_一路向北_37

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超0個(gè)贊

一句話:js是單線程。settimeout會把console放到調(diào)用棧最下面,一秒后再執(zhí)行,而在這一秒沒js在執(zhí)行for循環(huán),等到執(zhí)行console時(shí)i變成5了

查看完整回答
反對 回復(fù) 2017-11-22
?
一杯2塊的奶茶

TA貢獻(xiàn)226條經(jīng)驗(yàn) 獲得超75個(gè)贊

個(gè)人理解,第一個(gè)因?yàn)槟居袎K級作用域,所以這個(gè)i一直是全局變量的i,每次變的都是他,所以最后打出來就5了。第二個(gè)是因?yàn)閟etTimeout他會加到隊(duì)列的后面,等待前面的執(zhí)行完再執(zhí)行,所以最后打出了。類似異步

查看完整回答
反對 回復(fù) 2017-11-22
?
Stardust1001

TA貢獻(xiàn)261條經(jīng)驗(yàn) 獲得超78個(gè)贊

其他部分已經(jīng)執(zhí)行完了,然后1秒鐘過去了,執(zhí)行setTimeout,這個(gè)時(shí)候i也已經(jīng)加到5過了

查看完整回答
反對 回復(fù) 2017-11-22
?
Stardust1001

TA貢獻(xiàn)261條經(jīng)驗(yàn) 獲得超78個(gè)贊

因?yàn)閟etTimeout延遲1秒執(zhí)行的,這個(gè)時(shí)候,其他的都執(zhí)行完了

查看完整回答
反對 回復(fù) 2017-11-22
  • 3 回答
  • 0 關(guān)注
  • 2633 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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