首頁 >web前端 >js教程 >如何在 JavaScript 循環中引入延遲?

如何在 JavaScript 循環中引入延遲?

DDD
DDD原創
2024-12-18 10:22:11786瀏覽

How Can I Introduce a Delay into a JavaScript Loop?

延遲 JavaScript 循環

可以使用 setTimeout() 函數在 JavaScript 循環中引入延遲。但是,setTimeout() 的預設行為是立即執行。要引入延遲,我們需要使用遞歸循環。

實現此目的的一種方法是使用 for 循環並在循環內呼叫 setTimeout()。然而,這種方法遇到了一個問題,因為所有的 setTimeouts 都會立即安排,導致同時出現多個警報。

為了解決這個問題,我們需要使用一個延遲來呼叫自身的遞歸函數。以下程式碼示範了這個方法:

var i = 1;                  //  set your counter to 1

function myLoop() {         //  create a loop function
  setTimeout(function() {   //  call a 3s setTimeout when the loop is called
    console.log('hello');   //  your code here
    i++;                    //  increment the counter
    if (i < 10) {           //  if the counter < 10, call the loop function
      myLoop();             //  ..  again which will trigger another 
    }                       //  ..  setTimeout()
  }, 3000)
}

myLoop();                   //  start the loop

在此程式碼中,我們建立一個名為 myLoop() 的遞歸函數,其中包含一個 3 秒的 setTimeout()。在超時時間內,我們增加計數器並檢查它是否小於 10。如果是,我們再次呼叫 myLoop(),從而在每個警報之間引入延遲。

以上是如何在 JavaScript 循環中引入延遲?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn