Closureを使ってグローバル変数除去 の続き。
C#と同じように、JavaScriptでもやってみました。
#JavaScriptはあんまり得意じゃないけどf(^^;
function Hoge() {
function get_initializer() {
alert("test!");
var s = "hoge"
return function() { return s; };
}
this.get = get_initializer();
}
function test() {
var hoge = new Hoge();
alert(hoge.get());
alert(hoge.get());
}
適当にButtonはっつけて実行すると、次の順でalertが表示されます。
まー、成功かな?
JavaScriptの場合、アクセス修飾子がないし、迂闊なことするとグローバル変数で地獄を見るので、このやり方をうまく使えば結構いいかもしれませんね。