0
原型是继承的对象吗?通过该对象的所有实例,像我在下面的例子中的孩子。Javascript:如何创建原型对象的新实例?
它必须是父级的实例,否则父级的原型将不会被继承?
在这种情况下,目标是为每个子实例创建一个从父代继承的单独数组。
我不确定如何实现这一点。我知道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?
http://blog.slaks.net/2013-09-03/traditional-inheritance-in-javascript/ – SLaks
'parent.prototype.arr = [ ]。 “这总是错的;你只有一次实例。 – SLaks
'child.prototype = new parent();'没有任何用处。创建Object的public * prototype *属性与private [[[Prototype]]'](http://ecma-international.org/ecma-262/5.1/#sec-8.6.2)完全不同从它的构造函数。 – RobG