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