実際、次のように要約されています。
関数が実行のために呼び出される限り、それは括弧で囲まれなければなりません。現時点では、関数()は実際には関数の戻り値に等しくなります。もちろん、返品値がない人もいますが、機能本体の動作をすでに実行しています。これは基本的なことです。つまり、ブラケットが追加されている限り、関数ボディコードが実行されることを意味します。
ブラケットのないものは、関数のポインターとして関数名を使用してパラメーターを渡すために使用されます。この時点で、関数ボディコードが実行されないため、関数の結果は取得されません。関数本文のアドレスの場所を渡すだけで、必要に応じて実行する関数本体を見つけることができます。
したがって、通常、ブラケットがない理由を使用します。これはまた、括弧のあいまいな性質によるものです。ブラケットはそのような関数を実行するのと同等の「ファンクションコールオペレーター」であるため、生じる問題はそれらを理解した後に理解されます。
さらに:両側にブラケットを追加しないことに加えて、関数を実行するのではなく、関数のコピーを実現するために両側にブラケットを追加することもできます。左側に括弧がなく、右側に括弧がある場合、実際にはメソッドではなくプロパティを生産することに相当します。呼び出しの場合、属性名または関数名のみが使用され、プロパティと同等であるため、関数コールオペレーターの括弧を使用する必要はありません。もちろん、関数呼び出しの形でも呼ばれ、括弧が追加されます。上記の例を考えてみましょう。sayhello= wayhi()として書かれている場合、Sayhelloを呼び出すときにperson.sayhelloまたはperson.sayhello()を直接使用できます。どちらも同じ効果を達成します。
Baiduは答えを知っています:
関数が実行のために呼び出される限り、それは括弧で囲まれなければなりません。現時点では、関数()は実際には関数の戻り値に等しくなります。もちろん、返品値がない人もいますが、機能本体の動作をすでに実行しています。これは基本的なことです。つまり、ブラケットが追加されている限り、関数ボディコードが実行されることを意味します。
ブラケットのないものは、関数のポインターとして関数名を使用してパラメーターを渡すために使用されます。この時点で、関数ボディコードが実行されないため、関数の結果は取得されません。関数本文のアドレスの場所を渡すだけで、必要に応じて実行する関数本体を見つけることができます。
上記の記事では、JSで関数を呼び出すときにブラケットを追加する問題について簡単に説明します。これは私があなたと共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。