簡單!
moduleName.init(); // Initialized once
moduleName.init(); // Initialized twice
如果你想如下跟隨工廠模式創建多個模塊,調整你的代碼:
var newModuleName = function() {
return (function moduleName(self){
self.init = function(){
return self;
};
//Other methods
return self;
}({}));
}());
var module1 = newModuleName();
var module2 = newModuleName();
module1.init();
module2.init();
另外,使用傳統的構造格局:
var moduleName = function() {
var self = this;
if (!(self instanceof moduleName)){
return new moduleName();
}
self.init = function(){
return self;
};
//Other methods
};
只需包含一個構造函數來在你的模塊中構造實例? – Bergi
請問之前請研究。關於模仿JavaScript中的類有很多文獻(在線),包括StackOverflow中的一些問題。請回來一個更具體的問題。 – Bergi
架構我的應用程序建立在模塊模式。目前,存在用於存儲數據集的類模仿實例的問題。我可以使用構造函數模式,但它需要被重寫爲類。 –