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中文網其他相關文章!