JavaScript事件迴圈
逐步模擬 JavaScript 子集的呼叫堆疊、計時器、任務與微任務,或使用原有 JSON 工作樹。
正在啟用本機工具…
簡化的瀏覽器事件迴圈模型。只在本機解析並模擬程式,不執行或上傳輸入。時間為虛擬時間,不代表真實瀏覽器的耗時或排程保證。
JavaScript 草稿
可編輯範例可用語法與模型限制
支援字串、數字、布林、null、undefined、let/const 宣告與簡單賦值、具名函式宣告與呼叫、return、console.log、setTimeout、queueMicrotask、Promise.resolve().then,以及 async / await。二元運算僅支援 +;一元正負號可用。回呼可使用箭頭或函式語法。
async 函式僅支援回傳基本型別值;不支援回傳 Promise、迴圈、條件式、物件/陣列、Promise rejection/鏈式呼叫、DOM、fetch 或 Node.js API;不可使用 then() 的回傳值。不是完整 JavaScript 執行環境;不模擬繪製、實際計時器精度、網路或作業系統排程。
先完成同步工作,再清空微任務;每個任務完成後,再次清空微任務。等待中的計時器與已就緒的任務分開顯示。
參考資料:MDN · HTML Standard
事件迴圈
虛擬時間 0 ms載入範例或編輯程式,再按「執行模擬」。
呼叫堆疊0
頂端先返回
堆疊為空
等待中的計時器0
到期後才能加入任務佇列
沒有等待中的計時器
任務佇列0
最前方先執行;須先清空微任務
任務佇列為空
微任務佇列0
最前方先執行,持續清空後才取任務
微任務佇列為空
模擬主控台
此步驟尚無輸出
來源介面檢視日期2026-10-19:ToolHub
如何使用這個工具
選擇範例或編輯受支援的 JavaScript 子集,執行後逐步檢視模擬。JSON 模式保留原有工作樹輸出。
不適合用在什麼情況
虛擬模型不執行程式,也不代表瀏覽器實際計時、繪製、網路請求、Node.js 或不支援的 JavaScript 語法。