了解 setInterval 函數及其執行
setInterval 函數是一個有用的工具,用於在 JavaScript 中安排任務定期運行。但是,開發人員可能會遇到回呼函數似乎只執行一次而不是連續執行的問題。
問題:回調未如預期執行
一個常見原因行為是 setInterval 函數呼叫的錯誤使用。回調應該是函數引用,而不是函數呼叫。
說明:函數呼叫與引用
在提供的範例:
window.setInterval(timer(), 1000)
定時器函數後面少了一個括號,導致它是函數呼叫而不是引用。這會導致立即執行計時器函數,並隨後設定執行結果的間隔,該間隔是未定義的。
解決方案:更正語法
要更正此問題發出並確保回調的連續執行,請使用函數引用,如下所示:
window.setInterval(timer, 1000);
或者,您可以使用匿名函數作為回調,它較短,但可能會降低較大函數的可讀性:
window.setInterval( function() { console.log("timer!"); }, 1000)
這可確保計時器函數按指定的1000 毫秒間隔運行。
以上是為什麼我的 setInterval 函數只會跑一次?的詳細內容。更多資訊請關注PHP中文網其他相關文章!