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

setInterval コールバックが 1 回しか実行されないのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-03 20:10:16340ブラウズ

Why Does My setInterval Callback Only Run Once?

setInterval コールバックはなぜ 1 回だけ実行されるのですか?

JavaScript では、指定された間隔で関数を実行するために setInterval() 関数が使用されます。 。ただし、コールバック関数が 1 回しか実行されないという問題が発生した場合は、パラメーターの使用法が間違っていることが原因である可能性があります。

関数呼び出しの間違った使用法

提供されたコードでは、最初のパラメータとして timer() 関数を直接実行しています。 setInterval():

window.setInterval(timer(), 1000);

これはすぐに timer() 関数を呼び出し、その戻り値を setInterval() に渡します。代わりに、関数参照を使用する必要があります:

window.setInterval(timer, 1000);

または、指定した間隔で実行する匿名関数を作成することもできます:

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

関数参照または匿名関数を使用することにより、 setInterval() は、指定された間隔で関数を繰り返し呼び出すため、カウンターを無制限に実行できます。

以上がsetInterval コールバックが 1 回しか実行されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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