js的继承形式分别适合哪些应用场景

js的继承方式分别适合哪些应用场景?

一、原型链

js的继承形式分别适合哪些应用场景

  • 利用 Person.prototype = new Animal("Human") 实现继承;
  • static式继承、能继承Animal.prototype、不可多重继承;

二、借用构造函数

js的继承形式分别适合哪些应用场景

  • 对象冒充、apply、call三个方法的原理都是使用Person的this调用Animal;
  • property式继承、不能继承Animal.prototype、可多重继承;

三、混合

js的继承形式分别适合哪些应用场景

  • 使用static式(原型链的方法)继承Animal(Animal的属性和原型);
  • 使用property式(借用构造函数的方法)继承Animal.property;

四、总结

继承方式 继承Animal.protptype 多重继承
原型链 static Y N
借用构造函数 property N Y
混合 static,property Y

部分参考《JavaScript高级程序设计》