我已经开始编写我的“类”类型 JavaScript 函数,例如 Module Pattern 或 Revealing Module patten。这避免了使用“新”,并允许我在一个地方定义哪些函数是公共的。但是,我一直无法看到如何在这种模式下使用和访问公共数据成员。
例如,下面的成员“id”可通过 myobj.getId() 访问,但 myobj.id 未定义。
function setup(){
var myobj = MyObject();
myobj.initialize();
alert(myobj.getId()); // returns 3, as expected
alert(myobj.id); // returns undefined
}
function MyObject(){
var id;
function initialize(){
//do some stuff that initializes data including...
id = 3;
}
return{
initialize:initialize,
id:id,
getId:function(){ return id;}
}
}
有没有办法让 myobj.id 返回在 initialize() 中设置的值?