JavaScriptの即時関数

JavaScriptには、関数を定義したすぐにその関数を実行するための構文があります。これは即時関数と呼ばれることがあります。

次のような記述になります。

(function() {
  alert('hello');
}())

記述を見ればわかりますが、通常の関数定義と違って、下記の点に気がつくはずです。

  • 関数式を使って匿名関数を記述
  • 匿名関数を実行するために()をつける
  • 関数全体を()で囲む(匿名関数を変数へ代入する場合は不要)

このように関数を用意すると、初期化段階でしか使わない変数を、このローカルスコープに閉じて使うことができます。一度だけ記述すれば住む関数については、こういった記述をすることを検討すると良いでしょう。

use strict; モードでうまく動かないときは、下記を試してみましょう。call関数を使う方法です。

(function() {
  var a = '即時関数のローカル変数 a';
  alert('a:' + a);
}).call(this);

JavaScriptについては、下記の書籍の参考になるでしょう。

プログラミング言語一般については、下記が参考になるでしょう。

同じタグの記事: JavaScript
同じカテゴリの記事: Program
関連書籍: JavaScript