js构造继承有什么优点

1、解决了原型链继承中子类实例共享父类引用属性的问题。使用父类结构器来增强子类实例,相当于将父类的实例属性复制到子类。

2、创建子类实例时,可向父类传递参数。

3、可实现多继承(call多父类对象)。

实例

function Cat(name) {
  Animal.call(this);
  this.name = name || 'Tom';
}
 
var cat = new Cat();
console.log(cat.name); // Tom
cat.sleep() // Tom正在睡觉!
console.log(cat instanceof Animal); // false
console.log(cat instanceof Cat); // true

1、实例不是父类的实例,只是子类的实例。2、能够继承父类的实例属性和方法,不能继承原型属性/方法。3、函数无法复用,每个子类都有父类实例函数的副本,影响性能。实例function Star(name,age){thi ...