1

一部の同僚向けに JavaScript コースを作成しているときに、自己呼び出し関数の代替構文を偶然発見しました。誰かがそれについて知っていますか、それにはいくつかの詳細がありますか? それに関するドキュメントを見つけることができませんでした。

CODE : 従来の構文

    (function(){
      console.log("I'm self-invoked!");
    })();

代替構文

    (function(){
      console.log("Me too!");
    }());

ヒントをありがとう!

4

1 に答える 1

2

2 つの意味は同じです。

どちらの場合も、先頭の は式(の開始を表します。これは、呼び出す関数式の開始を示します。最後にそれを呼び出します。違いは微妙で、まったく問題にならないはずです。詳しく見てみましょう。

(function(){
  console.log("I'm self-invoked!");
})();

ここで、(は式の開始であることをコンパイラに伝えるためのもので、コンパイラは式 (この場合は関数式) を評価し、それを (式の外で) 呼び出します。

(function(){
  console.log("Me too!");
}());

ここで - 呼び出しパターン ( ()) はまさにその式の一部です。

于 2013-08-26T15:03:36.787 に答える