Я новичок в IIFE и пытается реализовать пространство имен в JavaScript на классе Siungleton JavaScript:Создать объект пространства имен Javascript одноплодной класса
У меня есть класс JavaScript (скажем main
класс):
var myIIFE = (function() {
var x = null;
//constructor function
var myIIFE = function() {
var a = new IIFE.InsideIIFE(); //says not a constructor
}
myIIFE.prototype = {
//some methods
}
function createIstance() {
return new myIIFE();
}
return {
getInstance: function() {
if (!this.instance) {
this.instance = createInstance();
}
return this.instance;
}
};
})();
Тогда у меня есть еще один JavaScript пространства имён класс:
myIIFE.InsideIIFE = (function() {
var inside = function() {}
inside.prototype = { //some methods }
return inside;
});
Я хочу, чтобы создать объект myIIFE.InsideIIFE
в myIIFE
, и это вызывает у меня ошибку:
myIIFE.InsideIIFE is not a constructor
Я что-то не так? Или если это правильный подход, то какие изменения я должен внести.
Я пробовал использовать new this.InsideIIFE()
и только InsideIIFE
, но не из них работал.
редактировать:
Из моего анализа, я понимаю, что myIIFE
(родительский) является объектом, как он возвращает объект в:
return {
getInstance: function() {
//method body
}
}