參考自
https://developer.mozilla.org/zh-TW/docs/Web/API/setInterval
1.setTimeout():設定的時間相當於倒數計時的計時器,當所設定的時間(毫秒)到時,便會執行指定的函數(只會執行一次),後續可以使用 clearTimeout()來清除。
常用的用法是setTimeOut(執行的函數名稱,時間);
2.setInterval():設定的時間是一段間隔時間,會間隔我們設定的時間執行函數(不斷執行),後續可以使用clearInterval()來清除
都屬於非同步事件,由於JS是單執行緒語言,且JS中的非同步事件(例如setTimeout, setInterval, ajax)的 callback function 被呼叫時,會將 callback function 的任務丟到 Event Queue 當中,並等待目前 Stack 的任務都已經完成後,再繼續逐一執行 Event Queue 的任務。因此設定的時間只能表現為最少時間,而非精準的時間