文章詳情頁(yè)
javascript - 關(guān)于js,alert()阻塞的問(wèn)題
瀏覽:161日期:2023-09-26 09:09:06
問(wèn)題描述
我們知道alert()是阻塞式的,但是一下代碼執(zhí)行順序有問(wèn)題
執(zhí)行順序有問(wèn)題
(()=>{ for(let i = 0; i < 5; i++){setTimeout(() => alert(i), 1000); }})()
結(jié)果: 0,3,2,1,4
執(zhí)行順序沒(méi)問(wèn)題
(()=>{ for(let i = 0; i < 5; i++){setTimeout(() => console.log(i), 1000); }})()
結(jié)果:0,1,2,3,4
這是為什么呢?
問(wèn)題解答
回答1:建議看一下setTimeout的運(yùn)行原理
你如果在alert 0 的時(shí)候,不去點(diǎn)確定,等5s(線程空閑情況,有可能需要等10s或者更長(zhǎng)時(shí)間) 之后再去點(diǎn)擊,你發(fā)現(xiàn)順序就正常了
原因是,setTimeout在中代碼是,如果進(jìn)程被占用,等到進(jìn)程空閑了,就會(huì)跳過(guò)這次,執(zhí)行下一次了
回答2:貼一個(gè)鏈接,看完以后你應(yīng)該茅塞頓開(kāi)
標(biāo)簽:
JavaScript
相關(guān)文章:
1. javascript - 關(guān)于json中獲取多個(gè)key-value對(duì)中多層嵌套key的name2. javascript - 關(guān)于JS中對(duì)象屬性描述符和原型的一些問(wèn)題3. javascript - 關(guān)于JS的this和構(gòu)造函數(shù)問(wèn)題4. javascript - 關(guān)于js中addEventListener的問(wèn)題5. javascript - 關(guān)于Js中 this的一道題6. javascript - 關(guān)于jsp中嵌入js代碼的問(wèn)題7. javascript - 關(guān)于js原生事件的綁定與解除綁定8. javascript - 關(guān)于json數(shù)據(jù)的展示問(wèn)題9. javascript - 關(guān)于js高級(jí)程序中的問(wèn)題10. javascript - 關(guān)于js中嵌套的對(duì)象的名稱是變量的問(wèn)題
排行榜

熱門標(biāo)簽