При попытке построить объект с внутренним свойством в функции конструктора, которая сохраняет массив со всеми объектами, созданными с помощью одного конструктора.
Я думаю, что лучше всего было бы с закрытием инициализации объекта, и вот как я пытаюсь решить это:
function myObject (name){
this.name=name;
this.allInstances = [];
}
myObject.ptototype = {
init : function(){
return function(){this.allInstances.push(this.name)};
}(),
}
object1 = new myObject("object1");
object2 = new myObject("object2");
console.log(object1.allInstances); // should print ["object1", "object2"]
Кто-нибудь знает, как этого добиться? Это вообще возможно?
Я специально пытаюсь найти решение, которое использует только конструктор функций и прототип для достижения этой цели.
Я знаю, как решить эту проблему, передавая свойства во внешний массив, например:
var allInstances = [];
function myObject (name){
this.name=name;
allInstances.push(this.name);
}
console.log(allInstances)