原型链继承的缺点

记录一下原型链继承的缺点:

  • 第一点是实例共享属性的问题,如果实例改变了继承的引用类型属性,那么其他实例属性也会被改变
    原型链继承的缺点_第1张图片

  • 第二点是实例对象的 constructor 属性不正确。child 的 constructor 属性并未指向它自己的构造函数
    原型链继承的缺点_第2张图片
    继承代码如下

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

网上的资料对于第二点很少提及,记录一下

你可能感兴趣的:(javascript,开发语言,ecmascript)