setInterval和setTimeout的區別

2022-09-05 15:00:10 字數 422 閱讀 8528

settimeout遞迴執行的**必須是上一次執行完了並間格一定時間才再次執行

比仿說: settimeout延遲時間為1秒執行, 要執行的**需要2秒來執行,那這段**上一次與下一次的執行時間為3秒. 而不是我們想象的每1秒執行一次.

setinterval是排隊執行的

比仿說: setinterval每次執行時間為1秒,而執行的**需要2秒執行, 那它還是每次去執行這段**, 上次還沒執行完的**會排隊, 上一次執行完下一次的就立即執行, 這樣實際執行的間隔時間為2秒

這樣的話在我看來, 如果setinterval執行的**時間長度比每次執行的間隔短的話,就沒有意義,並且隊伍越來越長,記憶體就被吃光了.如果某一次執行被卡住了,那程式就會被堵死

而settimout以下寫法不會出現因為一次被堵住,而記憶體被吃光的問題. 但是執行的時間隔是不準確和確定的

setInterval設定停止和迴圈

需要知道已經經過了多少次或者說過多久就會停止 var timesrun 0 var interval setinterval function do whatever here.2000 var starttime new date gettime var interval setinterval ...

setInterval設定停止和迴圈

需要知道已經經過了多少次或者說過多久就會停止 var timesrun 0 var interval setinterval function do whatever here.2000 var starttime new date gettime var interval setinterval ...

setInterval與setTimeout的區別

說明 setinterval與settimeout都是dhtm window物件的方法 區別 setinterval 表示式,時間 頁面載入後,每經過指定毫秒值後執行指定表示式,是間隔多次執行的 settimeout 表示式,時間 頁面載入後,經過指定毫秒值後執行指定表示式,只執行一次 附述 可以通...