ホームページ >ウェブフロントエンド >jsチュートリアル >「setInterval」がコールバックを一度しか実行しないのはなぜですか?

「setInterval」がコールバックを一度しか実行しないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-29 02:02:14312ブラウズ

Why Does `setInterval` Only Run My Callback Once?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。