在javascript執(zhí)行機(jī)制中,setTimeout是在主線程的同步代碼一開始執(zhí)行的時(shí)候,就已經(jīng)開始倒計(jì)時(shí)了,還是說在主線程執(zhí)行完后,讀取事件隊(duì)列中異步任務(wù)的時(shí)候,才開始倒計(jì)時(shí)?最近看了javaScript執(zhí)行機(jī)制相關(guān)的幾篇文章,知道了javascript引擎會(huì)在主線程執(zhí)行完同步任務(wù)后,讀取事件隊(duì)列的異步任務(wù)來執(zhí)行,文章都有拿setTimeout作為異步任務(wù)來舉例,但對(duì)于setTimeout,是在主線程中的同步代碼一開始執(zhí)行的時(shí)候,就已經(jīng)開始倒計(jì)時(shí)了,還是說在主線程執(zhí)行完后,讀取事件隊(duì)列中異步任務(wù)的時(shí)候,才開始倒計(jì)時(shí),描述比較模糊,甚至有沖突的地方,有查MDN,但是,沒有相關(guān)深入說明,網(wǎng)上也很難找到相關(guān)資料,有寫代碼來驗(yàn)證,但覺得驗(yàn)證方法有些牽強(qiáng),有相關(guān)資料推薦嗎?
新手上路,setTimeout 是什么時(shí)候開始倒計(jì)時(shí)的?大佬們有什么好的建議?
翻閱古今
2019-09-12 21:06:20