即時関数

即時関数とは、定義したらすぐに実行される関数である。*1

用途を示す。

  • コードを全てローカルスコープに閉じ込め、グローバルスコープに変数が漏れないようにするため

定義方法(構文)は2つある。JSLintは前者を推奨しているらしい。
なお、即時関数の戻り値を変数に代入するときは、即時関数を囲む括弧()は不要である。

(
 function(){
  //即時関数の実行内容を書く
 }()
);
(
 function(){
  //即時関数の実行内容を書く
 })
();

即時関数にパラメータを渡す場合は、次のようにする。

(
 function(arg1, arg2){
  //即時関数の実行内容を書く
  alert(arg1 + arg2);
 }("引数1", "引数2")
);

*1:ECMAScript標準では用意されていない。