Прототип — это объект, который передается по наследству? всеми экземплярами объекта, например child в моем следующем примере.
Это должен быть экземпляр родителя, иначе прототип родителя не будет унаследован?
В этом случае цель состоит в том, чтобы создать отдельный массив, наследуемый от родителя, для каждого экземпляра дочернего элемента.
Я не уверен, как именно этого добиться. Я знаю о extend.
Является ли метод расширения простым копированием прототипов в новый объект и применением к нему новых методов?
Мой пример кода + jsfiddle:
function parent(){
}
parent.prototype.arr = [];
parent.prototype.add = function(item){
this.arr.push(item);
}
parent.prototype.show = function(){
for(var i = 0; i < this.arr.length; ++i){
$('body').append(this.arr[i]);
}
}
function child(childname){
this.add(childname);
}
child.prototype = new parent();
var child1 = new child('child1');
var child2 = new child('child2');
child2.show();//this should only show child2?
parent.prototype.arr = [];Это всегда неправильно; у вас есть только один экземпляр. - person SLaks   schedule 31.01.2014child.prototype = new parent();ничего полезного не делает. Создание общедоступного свойства prototype объекта полностью отличается от частного[[Prototype]]унаследовано от его конструктора. - person RobG   schedule 31.01.2014