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 表示式,時間 頁面載入後,經過指定毫秒值後執行指定表示式,只執行一次 附述 可以通...