JSIIFE(インスタント実行関数)


インスタント実行関数


インスタント実行関数とは何か知っていると思います.でも次のコードを読みたい
var favorite = (function () {
     return "blueberry";
}());

console.log(favorite); //"blueberry"

これはなぜ「ブルーベリー」を直接返すのですか?favorite()を作ってこそ「ブルーベリー」を返すことができるのではないでしょうか.
そんな思いをした私を見つけた.
これは何の話ですか.すぐに実行する関数が何なのか分かりませんが、知っていると思います.

インスタント実行関数とは?


インスタント実行関数とは、宣言と同時に実行される関数の用語です.
宣言と同時執行.これを知ればいい.宣言と同時執行.
この事実に集中して、上のコードを見てみましょう.
var favorite = (function () {
     return "blueberry";
}());

console.log(favorite); //"blueberry"
  • 「ブルーベリー」を返す関数は、インスタント実行関数として宣言されます.
  • は直ちに実行関数を宣言し、宣言と同時に実行した.
  • を実行するインスタント実行関数は、「ブルーベリー」を返します.
  • から返される「ブルーベリー」はfavorite変数に割り当てられる.
  • だから一番好きなのは「ブルーベリー」です.

    インスタント実行関数の形状


    インスタント実行関数は、2つの形式で宣言できます.
    var favorite = (function () {
         return "blueberry";
    }());
    
    var favorite = (function () {
         return "blueberry";
    })();
    上のコードは下のコードと全く同じです.

    インスタント実行関数のパラメータ


    インスタント実行関数も関数なので、パラメータを受け入れることができます.
    var favorite = (function (something) {
         return something;
    }("blackberry"));
    
    console.log(favorite);

    以上のように、即時実行関数を囲む括弧と対の空括弧にパラメータを渡すと、直ちに実行関数のパラメータにパラメータが渡されます.

    の最後の部分


    自分がよく知っていることが一番危険だと曖昧に思っている.私がやったのです.
    インスタント実行関数は主にモジュールの生成に使用されます.ただし、エンクロージャの詳細については不明なので、エンクロージャを知る際に出します.

    リファレンスサイト


    MDN-IIFEのWebドキュメントについて