首頁 >web前端 >js教程 >為什麼我的setInterval回呼函數只會執行一次?

為什麼我的setInterval回呼函數只會執行一次?

Susan Sarandon
Susan Sarandon原創
2024-12-07 00:44:12199瀏覽

Why Does My setInterval Callback Function Only Execute Once?

setInterval 回調函數執行一次:已解決

在這種情況下,計數器旨在無限期地運行。讓我們來看看簡化版本:

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

window.setInterval(timer(), 1000);

但是,此實作會產生意外結果:「計時器」訊息只會出現一次。

問題在於 setInterval 的第一個參數。程式碼沒有提供函數參考(timer),而是錯誤地執行了函數(timer())。這可以如下修正:

window.setInterval(timer, 1000);

或者,可以採用更簡潔(但可讀性較差)的語法:

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

透過實施這些更正,計數器現在將執行永遠實現預期的功能。

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

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