即時関数の意味 IIFE
http://analogic.jp/immediate-function/
https://techacademy.jp/magazine/5530
構文:
(function (引数1, 2, ...) {
//処理内容
}('実際の渡す値1', '2', ...));
スコープ:
JavaScriptには他の言語にあるようなブロックスコープがない。あるのはグローバルスコープと関数スコープのみ。 その為、関数は任意にスコープを作るための唯一。
<例2:名前付き関数を使った場合>
var result = 0, //結果を格納する変数
calc = function () { //結果を求める関数
//結果を求めるための一時変数
var a = 1, b = 2;
return a + b;
};
result = calc();
console.log(result); //「3」が出力される
<例3:即時関数を使った場合>
var result = 0; //結果を格納する変数
result = (function () {
var a = 1, b = 2; //結果を求めるための一時変数
return a + b;
}());
console.log(result); //「3」が出力される