JavaScript の括弧あり・なしの関数呼び出しの違い

関連タグ:1.JavaScript の例
2. JavaScript のプロトタイプと継承

導入:function fun() { return 1; } var a = fun; var b = fun(); JavaScript では、次のコードを関数と呼びます:function fun() { return 1; } 関数は function という参照型の一種であり、関数はオブジェクトです。このオブジェクトはメモリに格納され、関数名はこのオブジェクトへのポインターです。var
function fun ( ) {
return 1 ;
}
var a = fun;
var b = fun( );
JavaScript では、次のコードを関数と呼びます:
function fun ( ) {
return 1 ;
}

【JavaScript の括弧あり・なしの関数呼び出しの違い】


関数は function という参照型のインスタンスであり、関数はオブジェクトです。このオブジェクトはメモリに格納され、関数名はこのオブジェクトへのポインターです。
var a = fun は、関数名 fun のポインターを変数 a にコピーすることを意味しますが、関数そのものがコピーされるわけではありません。
つまり、a は fun 関数そのものであり、b は 1 です。
関数名の後に括弧がある場合、関数内のコード(中括弧内のコード)がすぐに呼び出される(実行される)ことを意味します。

【JavaScript の括弧あり・なしの関数呼び出しの違い】
括弧がない場合、関数名はその関数のポインターとして使用されます。関数名は関数のポインターです。このとき、関数本体のコードは実行されないため、関数の結果は得られません。関数本体が格納されているアドレスを渡すだけで、必要時にその関数本体を見つけて実行できるようにします。
例:
window.onload = init ;
init 関数はこのコード行が実行された時点では実行されません。ブラウザがドキュメントを読み込む際にこの文が読み込まれ、ドキュメント読み込み後にどの関数を実行するかを指定しますが、その時点では実行されず、ドキュメント全体が読み込まれた後に init ポインターを通じて init() が実行されます。
注意:本記事の一部の内容は以下を参照しています:
https://www.zhihu.com/question/31044040
http://blog.csdn.net/yyx19941129/article/details/49642515
作成者:jiankunking ソース:http://blog.csdn.net/jiankunking

著作権に関する声明:本記事の内容は Alibaba Cloud の実名登録ユーザーによる投稿です。著作権は原著作者に帰属します。Alibaba Cloud デベロッパーコミュニティは著作権を有せず、相応の法的責任も負いません。詳細な規則については、「Alibaba Cloud デベロッパーコミュニティユーザーサービス契約」および「Alibaba Cloud デベロッパーコミュニティ知的財産保護ガイドライン」をご参照ください。本コミュニティで著作権侵害の疑いのあるコンテンツを発見した場合は、侵害申立フォームに記入してご報告ください。確認後、本コミュニティは侵害の疑いのあるコンテンツを直ちに削除します。

関連記事

特別オファーをもっと見る

  1. Short Message Service (SMS) & Mail Service

    5 万通のメールパックが USD 1.99 から、120 通のショートメッセージがわずか USD 1.00 でご利用いただけます。

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.