My Github

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

一、原型链


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

二、借用构造函数


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

三、混合


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

四、总结

继承方式继承Animal.protptype多重继承
原型链staticYN
借用构造函数propertyNY
混合static,propertyY

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


下一节:js继承精益求精之寄生式组合继承
posted @ 2015-08-11 23:33  覃家辉  阅读(2043)  评论(0编辑  收藏  举报