19 元月, 2009 13:39
幾天前在YUI Blog上看到有Zakas的新書免費試閱,就下載來看了一下。他最後提到了一些必須要了解的timer概念,對於使用setTimeout或是setInterval函數很有幫助。
主要的問題在於,JavaScript的實作主要都是基於single thread模型,而用一個queue的結構來處理非同步的執行(包含DOM上面發生的事件、AJAX的事件、setTimeout的事件、setInterval的事件觸發等等),所以他只保證盡量在指定的時候執行,但不保證時間的精確。jQuery的作者John Resig在他的blog中有一篇文章做了不錯的說明:How JavaScript Timers Work。事實上,所有的程式都是放在一個queue裡面依序執行的,所以只要用一個alert()來暫停執行,其他所有應該要執行的程式也都受影響而停下來。
(閱讀全文)
推文( 1 )

