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