スマートフォン用の表示で見る

即時関数

コンピュータ

即時関数

そくじかんすう

JavaScriptで使われているコード(function(){...})()の呼び名のひとつ。JavaScriptパターン ―優れたアプリケーションのための作法で命名されている*1。無名関数を宣言して即実行することで、ブロックスコープ?の存在しないJavaScriptにおいて擬似的にブロックスコープ?を再現する*2JavaScriptにおいて頻繁に使われている手法である。

使用例

一般的な使用例

(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

プログラミング言語PHPでも同様の手法が可能である*4

call_user_func(function(){
  /*
   * このブロックは擬似的にブロックスコープを持つ
   *
   */
  $a = "hatena";
  echo $a; // hatena
});