ホームページ >ウェブフロントエンド >jsチュートリアル >「setInterval」がコールバックを一度しか実行しないのはなぜですか?
setInterval コールバックはなぜ 1 回だけ実行されるのですか?
次の問題を考えてみましょう: カウンタを使用した無限ループを作成しようとしています。 setInterval を使用します。ただし、コールバック関数は 1 回だけ実行されます。何が間違っているのでしょうか?
提供されたコードは次のとおりです:
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 中国語 Web サイトの他の関連記事を参照してください。