Hatena Blog Tags

即時関数

(コンピュータ)
そくじかんすう

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

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

call_user_func(function(){
  /*
   * このブロックは擬似的にブロックスコープを持つ
   *
   */
  $a = "hatena";
  echo $a; // hatena
});
このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ