ホームページ > ウェブフロントエンド > jsチュートリアル > setInterval 関数が一度しか実行されないのはなぜですか?

setInterval 関数が一度しか実行されないのはなぜですか?

Linda Hamilton
リリース: 2024-11-28 22:34:11
オリジナル
775 人が閲覧しました

Why Is My setInterval Function Only Running Once?

setInterval 関数とその実行について理解する

setInterval 関数は、JavaScript でタスクを定期的に実行するようにスケジュールするための便利なツールです。ただし、開発者は、コールバック関数が継続的にではなく 1 回だけ実行されるように見える問題に遭遇することがあります。

問題: コールバックが期待どおりに実行されない

この一般的な理由の 1 つは、この動作は、setInterval 関数呼び出しの誤った使用法です。コールバックは関数呼び出しではなく、関数参照である必要があります。

説明: 関数呼び出しと参照

提供された例の場合:

window.setInterval(timer(), 1000)
ログイン後にコピー

タイマー関数の後に括弧が欠落しているため、参照ではなく関数呼び出しになります。これにより、タイマー関数が即座に実行され、その後、実行結果の間隔が設定されますが、これは未定義です。

解決策: 構文を修正する

これを修正するにはコールバックを発行して継続的な実行を保証するには、次のように関数参照を使用します。

window.setInterval(timer, 1000);
ログイン後にコピー

または、次のようにすることもできます。匿名関数をコールバックとして使用します。これは短いですが、大規模な関数の可読性が低下する可能性があります:

window.setInterval( function() {
  console.log("timer!");
}, 1000)
ログイン後にコピー

これにより、タイマー関数が指定された 1000 ミリ秒の間隔で実行されるようにスケジュールされます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート