美文网首页
js继承,各种继承的优缺点(原型链继承,组合继承,寄生组合继承)

js继承,各种继承的优缺点(原型链继承,组合继承,寄生组合继承)

作者: sonlylee | 来源:发表于2017-03-29 13:03 被阅读0次

    原型链实现继承:

    缺点:

    1.重写子类的原型 等于 父类的一个实例,(父类的实例属相变成子类的原型属性)如果父类包含引用类型的属性,那么子类所有实例都会共享该属性

    2.在创建子类实例时,不能向父类的构造函数传递参数

    原型连继承和借用构造函数 组合实现继承

    组合继承解决原型链继承的引用类型原型属性被实例共享问题

    缺点:

    两次调用父类构造函数:(第一次是在创建子类原型的时候,第二次是在子类构造函数内部)。子类继承父类的属性,一组在子类实例上,一组在子类原型上(在子类原型上创建不必要的多余的属性)(实例上的屏蔽原型上的同名属性),同时效率低。

    寄生组合继承

    优点:

    1.只调用一次父类的构造函数,避免了在子类原型上创建不必要的,多余的属性

    2.原型链保持不变

    更详细看:http://blog.csdn.net/crowds123/article/details/25503491

    相关文章

      网友评论

          本文标题:js继承,各种继承的优缺点(原型链继承,组合继承,寄生组合继承)

          本文链接:https://www.haomeiwen.com/subject/blmeottx.html