ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript の「setTimeout」関数がすぐに実行されるのはなぜですか?

JavaScript の「setTimeout」関数がすぐに実行されるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-16 11:07:10
オリジナル
351 人が閲覧しました

Why Does My JavaScript `setTimeout` Function Execute Immediately?

setTimeout 関数の実行について

JavaScript では、setTimeout 関数は 2 つの引数 (実行する関数とミリ秒単位の遅延) を取ります。ただし、開発者は一般に、関数が指定された遅延を待たずにすぐに実行されるという問題に遭遇します。

問題ステートメント

setTimeout を使用しようとすると、関数が実行されます。 2 秒 (2000 ミリ秒) の遅延が指定されていても、すぐに実行されます。次のコードは、この問題を示しています。

setTimeout(testfunction(), 2000);
ログイン後にコピー

解決策

この問題は、関数を呼び出すときにかっこが正しく使用されていないために発生します。提供されたコードでは、testfunction() が括弧を使用してすぐに呼び出され、setTimeout 遅延の前に実行されます。

この問題を解決するには、関数呼び出しから括弧を削除する必要があります。代わりに、以下に示すように、かっこのない関数名を setTimeout に渡す必要があります。

setTimeout(testFunction, 2000);
ログイン後にコピー

かっこを削除すると、関数がすぐに呼び出されなくなり、setTimeout の遅延が有効になることに注意してください。これにより、関数は指定された時間間隔後に確実に実行されます。

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

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