记录一下原型链继承的缺点:
-
第一点是实例共享属性的问题,如果实例改变了继承的引用类型属性,那么其他实例属性也会被改变
-
第二点是实例对象的 constructor 属性不正确。child 的 constructor 属性并未指向它自己的构造函数
继承代码如下
function Parent() {
this.name = 'Parent';
}
Parent.prototype.sayHello = function() {
console.log('Hello');
};
function Child() {
this.age = 10;
}
Child.prototype = new Parent();
var child = new Child();
console.log(child.name); // 输出:Parent
child.sayHello(); // 输出:Hello
网上的资料对于第二点很少提及,记录一下