JavaScriptで使われているコード(function(){...})()の呼び名のひとつ。JavaScriptパターン ―優れたアプリケーションのための作法で命名されている*1。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現する*2。JavaScriptにおいて頻繁に使われている手法である。
(function(){ var a = "hatena"; alert(a); //hatena })();
()の代わりに「+」「-」「!」「void」「typeof」などの単項演算子を用いることも可能である*3。
+function(){ var a = "hatena"; alert(a); //hatena }();
!function(){ var a = "hatena"; alert(a); //hatena }();
他プログラミング言語のPHPでも同様の手法が可能である*4。
call_user_func(function(){ /* * このブロックは擬似的にブロックスコープを持つ * */ $a = "hatena"; echo $a; // hatena });