2009年1月29日 星期四

[JavaScript] setInterval 和 setTimeout 的區別

JavaScript 當中有兩個函式(setInterval 和 setTimeout)的作用很像,
查資料之後才知道他們的區別,以下是筆記。

setInterval / setTimeout
  1. setInterval 裡設定的程式只會被重複觸發,直到執行了 clearInterval 為止
  2. setTimeout 裡設定的程式只會被觸發一次
  3. setInterval 和 setTimeout 都是利用時間去觸發某個動作的執行;並且下一行程式不會因為時間設定的長短而被延遲或影響;也就是說當 setInterval 和 setTimeout 那行程式被執行的時候,那個觸發的動作就被交給 window 物件去處理了,其他的程式會被繼續執行,不會受到影響
  4. setInterval 和 setTimeout 在執行時都會產生 timerID 以便在某些狀況下需要用 clearInterval 和 clearTimeout 去取消那些觸發的動作