createBar()
プライベート プロパティbar
がプロパティと同じレベルで作成されるように修正するにはどうすればよいfoo
ですか?
var x = (function() {
var foo = "a";
function createBar() {
this.bar = "b";
}
return {
getFoo: function() {
return foo;
},
getBar: function() {
return bar;
}
}; // end: returned object
}());
モジュールは次のように動作します。
x.getFoo(); // returns a
x.getBar(); // returns b
window.bar; // is undefined (but in my example, it is b)
アップデート:
これは私が今していることです:
var x = (function() {
var data = {}; //private object holding state variables
data.foo = "a"; // one state variable
function createBar() {
data.bar = "b"; // another dynamically created state variable
}
return {
getFoo: function() {
return foo;
},
getBar: function() {
return bar;
}
}; // end: returned object
}());
しかし、どういうわけか私はそれが好きではありません。プライベート関数間で状態情報を共有するにはどうしますか?