即時関数 (function(){})()

即時関数とは?

「関数定義」「関数呼び出し」を同時に行う。

 (function foo(){ alert(1); })()

ここではfooという関数名で定義してるが、無名関数でも良い。

 (function (){ alert(1); })()

即時関数のメリット1 グローバル変数を汚さない

 function foo(){ alert(1); }
 var foo = 100;
 alert(foo); // =>「100」数値のfooが関数のfooを上書きする
 function bar(){ alert(1); }
 alert(window.bar);  // =>「"function bar(){ alert(1); }"」fooはグローバルオブジェクトwindowを汚している
 (function baz(){ alert(1); })()
 alert(window.baz); // => 「undefined」bazはundefinedでグローバルを汚してない

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS