Javascript 将原型添加到对象会产生错误

Javascript 将原型添加到对象会产生错误,javascript,html,prototype,prototypal-inheritance,Javascript,Html,Prototype,Prototypal Inheritance,在本例中,我试图将原型添加到已经创建的对象实例(Person1)中,但没有成功添加原型,从而导致错误。有人能帮我吗 var person=功能(姓名、年龄){ this.name=名称; 这个。年龄=年龄; this.printName=函数(){ 警报(此名称); } } person.prototype.printAge=函数(){ 警惕(这个年龄); } var person1=新人(“杰克”,29岁); person1.prototype.printMessage=函数(){ 警惕(

在本例中,我试图将原型添加到已经创建的对象实例(Person1)中,但没有成功添加原型,从而导致错误。有人能帮我吗


var person=功能(姓名、年龄){
this.name=名称;
这个。年龄=年龄;
this.printName=函数(){
警报(此名称);
}
}
person.prototype.printAge=函数(){
警惕(这个年龄);
}
var person1=新人(“杰克”,29岁);
person1.prototype.printMessage=函数(){
警惕(“你好朋友”);
}
var person2=object.create(person1);
person2.printName();
person2.printAge();
person2.printMessage();

问题在于
person
是一个函数,
person1
是一个对象。使用
constructor.prototype
解决问题


var person=功能(姓名、年龄){
this.name=名称;
这个。年龄=年龄;
this.printName=函数(){
警报(此名称);
}
}
person.prototype.printAge=函数(){
警惕(这个年龄);
}
var person1=新人(“杰克”,29岁);
person1.constructor.prototype.printMessage=函数(){
警惕(“你好朋友”);
}
var person2=Object.create(person1);
person2.printName();
person2.printAge();
person2.printMessage();

只有构造函数具有Prototype属性(通过this.propertyName设置属性值的函数)。尽管您可以使用

__proto__
这被认为是低效的

看看这个


原因
对象
不是
对象
\uuuu proto\uuu
不是功能。@JonasW.Edited。