在下面的代码中,构造函数,对象实例和更改函数原型的两个示例。这两种方法有什么区别?据我所知,第二种方法将更新对象实例,即使它是在声明该实例之后,而另一种则不会。这是唯一的区别吗?
function Foo(name, color) {
this.name = name;
this.color = color;
}
var bar = new Foo('name', 'color');
第一种方法:
Foo.prototype = {age: 6};
第二种方法:
Foo.prototype.age = 4;`
答案 0 :(得分:2)
Foo.prototype = {age: 6};
第一种方法是覆盖构造函数和____proto____链接,如果你使用继承不是一个好的方法,因为你会破坏原型链接和原型链
最好使用
Foo.prototype.age = 4;`
通过这种方式,您只需添加一个属性,所有原型链都将完整地重新发送