js 單線程
alert 函數(shù)不僅會(huì)暫停主線程涩蜘,而且會(huì)暫停定時(shí)器
定時(shí)器回調(diào)函數(shù)只有在運(yùn)行棧中的初始化代碼全部執(zhí)行完后才有可能執(zhí)行(定時(shí)器并不能保證定時(shí)執(zhí)行)
事件輪詢機(jī)制
- 執(zhí)行上下文棧(同步):
- 初始化代碼奋蔚,將定時(shí)器揖曾,DOM 事件叙淌,ajax 請(qǐng)求交給瀏覽器對(duì)應(yīng)模塊管理
- 當(dāng)事件發(fā)生時(shí)梯投,瀏覽器管理模塊將回調(diào)函數(shù)添加到任務(wù)隊(duì)列中
- 任務(wù)隊(duì)列(異步):
- 微任務(wù):Promise.then,process.nextTick
- 宏任務(wù):setTimeout,setInterval创坞,DOM事件,ajax