ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript の「setTimeout」関数呼び出しで括弧を使用する必要があるのはどのような場合ですか?

JavaScript の「setTimeout」関数呼び出しで括弧を使用する必要があるのはどのような場合ですか?

DDD
リリース: 2024-11-23 04:34:21
オリジナル
505 人が閲覧しました

When Should I Use Parentheses in JavaScript `setTimeout` Function Calls?

関数呼び出しで括弧を使用する場合

提供されたコード スニペット内:

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();
ログイン後にコピー

内の関数呼び出しsetTimeout は引数として関数参照を想定しているため、setTimeout には括弧は必要ありません。 myFunction は関数を参照します。

対照的に、最後の行の myFunction() は関数を呼び出します。 myFunction で括弧を使用すると、関数が呼び出され、そのコードが実行されます。

ルールの例外

特定の状況下では、setTimeout(myFunction(), 1000)意味があるかもしれません。たとえば、myFunction() が関数自体を返す場合:

function myFunction() {
    return function() {
        alert("ohai")
    }
}
ログイン後にコピー

この場合、setTimeout(myFunction(), 1000) は次の処理を行います:

  • myFunction 関数を呼び出します。 、アラートを表示する匿名関数を返します。
  • 返された関数を引数として設定します。 setTimeout.

その結果、アラートが毎秒トリガーされます。

以上がJavaScript の「setTimeout」関数呼び出しで括弧を使用する必要があるのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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