如果你不知道我在說什麼,請閱讀John Resig - How JavaScript Timers Work和Is JavaScript guaranteed to be single-threaded?什麼觸發JavaScript代碼執行?
有幾個觸發,在JS引擎的執行先進先出排隊的任務。這不是任何標準的一部分,所以我試圖找到這些觸發器的詳盡列表。 (我想這一切都歸結到內部的事件處理程序,如腳本加載事件或計時器事件,但我寧願忽略了發動機的內部和看待事物但從用戶的角度)。
所以到目前爲止我已經確定了初始文件(包括由document.write
加入的那些)*
<script>
元件在運行時*<script>
元件ERS
- 這包括各種各樣的情況下,如用戶交互,錯誤事件,網絡工作者消息或AJAX回調的...window.setTimeout
window.setInterval
*)只在瀏覽器/ DOM環境
還有更多嗎? JS引擎之間的任何區別?
到window.setTimeout和window.setInterval類似,現在有window.requestAnimationFrame將嘗試下一次你的顯示器刷新(第二通常1/60次)觸發功能 – jcmiller11 2015-06-02 14:52:51
您可以將'的setTimeout() '和'setInterval()'與事件處理程序一起使用,因爲這就是它們:定時事件。基本上,只有兩件事:事件處理程序和腳本加載。 – slebetman 2015-06-03 20:38:10