ホームページ >ウェブフロントエンド >jsチュートリアル >「setTimeout」関数がすぐに実行されるのはなぜですか?
setTimeout は関数をすぐに実行するのはなぜですか?
setTimeout を使用すると、指定された待ち時間が無視され、即座に実行する関数。この動作は、使用される構文における一般的な誤解から発生します。
落とし穴:
以下のコード スニペットは、この問題を示しています:
setTimeout(testfunction(), 2000);
説明:
コードでは、括弧を使用して testfunction() がすぐに呼び出されます。これは、setTimeout が、即座に実行される testfunction() の結果を待機するようにスケジュールされていることを意味します。
解決策:
setTimeout が目的の結果を待機するようにするには関数を実行する前に、代わりに次の構文を使用してください:
setTimeout(testFunction, 2000);
がないことに注意してください。 testFunction の後の括弧。かっこを省略すると、関数の呼び出し結果ではなく、関数自体への参照が渡されます。
以上が「setTimeout」関数がすぐに実行されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。