ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript 関数の参照で括弧を使用するのはどのような場合ですか?

JavaScript 関数の参照で括弧を使用するのはどのような場合ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-05 10:27:13618ブラウズ

When to Use Parentheses with JavaScript Function References?

括弧を使用する場合と使用しない場合

JavaScript では、特に関数で括弧を使用する場合と使用しない場合を理解することが重要です。参考文献。次のコードを考えてみましょう:

var myFunction = function() {
   setTimeout(myFunction, 1000);
}
myFunction();

最後の行には括弧が必要であるのに、setTimeout の関数呼び出しには括弧が必要ないのはなぜですか?

Nutshell

  • myFunction は関数を参照します
  • myFunction() は関数を呼び出しますfunction

詳細説明

setTimeout は関数参照を引数として受け取ります。最初の行では、setTimeout(myFunction, 1000) は参照を期待しているため、かっこなしで関数参照を渡します。

ただし、最後の行では、myFunction() が実際に関数を呼び出しています。関数を呼び出すには、括弧を使用して実行します。したがって、myFunction() は関数を実行するため、括弧が必要です。

Exception

次のように、setTimeout(myFunction(), 1000) が適切な場合があります。 myFunction() が関数を返すとき。例:

function myFunction() {
    return function() {
        alert("ohai")
    }
}

// Or

const myFunction = () => () => alert("ohai")

この場合、setTimeout(myFunction(), 1000):

  • 外部関数 myFunction を呼び出します
  • 戻り値を取得します。これは内部関数です
  • 内部関数を引数として渡しますsetTimeout

これにより、毎秒アラートが生成されます。

結論

関数参照のかっこの目的を理解することは、JavaScript を効果的に行うために不可欠ですプログラミング。括弧は関数呼び出しを示すことを覚えておくと、必要に応じて括弧を正しく使用して関数を呼び出したり、関数参照を渡したりすることができます。

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

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