我使用模块模式创建了一个类,因为我需要一些私有成员和函数。问题是我无法为一个模块创建多个实例。如果我创建一个新实例,它将替换我之前创建的所有实例。
这是代码。
var MyObj = (function() {
var myVar;
function MyObj(arg) {
myVar = arg;
}
MyObj.prototype.print = function() {
console.log(myVar);
};
return MyObj;
})();
var instance1 = new MyObj('instance1');
var instance2 = new MyObj('instance2');
instance1.print(); // instance2
instance2.print(); // instance2
这是我的问题: 1. 如果我想使用这种模式,这是否意味着我不能为一个类创建多个实例?2. 如果我不能使用这种模式,还有其他方法可以在 Class 中使用 private 吗?