JS執行機制
1、先執行執行堆疊中的同步任務
2、異步任務(回呼函式)放入任務佇列中
3、一旦執行堆疊中的所有同步任務執行完畢,系統就會按順序讀取任務佇列中的異步任務,于是被讀取的異步任務結束等待狀態,進入執行堆疊,開始執行
案例:
<script>
console.log(1);
setTimeout(() => {
console.log(3);
}, 0);
console.log(2);
</script>
輸出結果為:
1
2
3
定時器設定的時間為0,為什么輸出的結果不是 1 3 2呢,
分析:
js會將所有的代碼放入到執行堆疊中先執行,其中類似于setTimeout()中的回呼函式會被提取到任務佇列,js會將執行堆疊中的代碼執行完畢后,再將任務佇列中的任務放入到執行堆疊中執行,所以輸出的結果為:1 2 3

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/517657.html
標籤:其他
上一篇:《Vue3.x+TypeScript實踐指南》已出版
下一篇:執行緒數增加但對運行時沒有影響
