ホームページ >ウェブフロントエンド >jsチュートリアル >`setTimeout(GetUsersNumber(), 5000)` が 5 秒後ではなくすぐに実行されるのはなぜですか?

`setTimeout(GetUsersNumber(), 5000)` が 5 秒後ではなくすぐに実行されるのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 07:08:09686ブラウズ

Why Does `setTimeout(GetUsersNumber(), 5000)` Execute Immediately Instead of After 5 Seconds?

setTimeout での関数呼び出しと関数オブジェクト

サーバーの過負荷を避けるために、Web 開発者は次を使用して 5 秒ごとにページ値を更新する予定です。 setTimeout()。ただし、コード内の関数は遅延するのではなく、すぐにトリガーされるようです。

提供されたコード内:

<pre class="brush:php;toolbar:false">
setTimeout(GetUsersNumber(), 50000);

エラーは、関数呼び出しと関数オブジェクトの区別にあります。 JavaScript。この場合、関数名の後に括弧が含まれており、関数呼び出しを示します。 setTimeout を正しく使用するには、関数オブジェクトが必要です。これは括弧なしで定義されています。

コードを次のように変更すると、

<pre class="brush:php;toolbar:false">
setTimeout(GetUsersNumber, 5000);

setTimeout は、指定された遅延の後に GetUsersNumber 関数オブジェクトを呼び出すようになります。 5 秒間で、サーバーに過負荷をかけることなく、ページ値が希望の間隔で更新されるようにします。

以上が`setTimeout(GetUsersNumber(), 5000)` が 5 秒後ではなくすぐに実行されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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