JavaScriptの即時関数の使いどころ

自分なりに使いどころを整理してみた

  • 即時関数の中でvarキーワードをつければ、ローカルになる
  • 即時関数の中でvarキーワードをつけなければ、グローバルになる
  • なので「一部をローカルにして一部をグローバル」が簡単に実現できる

ローカル

(function() {
  var hoge = 'hogehoge'; //ローカル
})();

alert(hoge); //NG

グローバル

(function() {
  hoge = 'hogehoge'; //グローバル
})();

alert(hoge); //OK

一部ローカル、一部グローバル

(function() {
    var x = 'xxxxxx';
    var y = 'yyyyyy';
    var z = 'zzzzzz';
    hoge = function() {
        alert(x + y);
    };
    fuge = function() {
        alert(x + y + z);
    };
})();

alert(x); //NG
alert(y); //NG
alert(z); //NG
hoge(); //OK
fuge(); //OK