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