首頁 >web前端 >js教程 >為什麼 `setInterval` 只運行我的回調一次?

為什麼 `setInterval` 只運行我的回調一次?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-29 02:02:14310瀏覽

Why Does `setInterval` Only Run My Callback Once?

為什麼 setInterval 回呼只執行一次?

考慮以下問題:您正在嘗試使用計數器建立無限循環使用setInterval。然而,回調函數只執行一次。可能出了什麼問題?

提供的程式碼是:

function timer() {
  console.log("timer!")
}

window.setInterval(timer(), 1000)

錯誤源自於使用函數呼叫而不是函數來引用作為 setInterval 的第一個參數。

正確用法:

要解決此問題,您需要傳遞函數引用本身,像這樣:

function timer() {
  console.log("timer!");
}

window.setInterval(timer, 1000);

或者,您也可以使用以下較短的語法:

window.setInterval( function() {
  console.log("timer!");
}, 1000)

以上是為什麼 `setInterval` 只運行我的回調一次?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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