javascript的继承机制

1:javascript因为没有面向对象机制,所以继承只能通过原型链方式来实现。(P162)
但是原型链有一个问题:因为原型指向的是一个实例,所以子类的所有实例将共享父类实例的变量。

2:可以通过call方法,在子类的构造函数中调用父类的构造函数,这样就避免共享问题,但是又导致父类的许多方法会在子类实例中出现冗余。(p167)

3:为了结合上诉两种方法的优缺点,引入了组合继承的方式。(P168)
这种方式成为javascript中最常用的继承方式

4:如果你只想在一个对象的基础上做一点小改进,那么可以采用原型继承方式,即:通过将对象作为另外一个对象的原型,来生成一个新的对象(P170)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我们在对象创建模式中讨论过,对象创建的模式就是定义对象模板的方式。有了模板以后,我们就可以轻松地创建多个结构相同的...
    csRyan阅读 916评论 0 7
  • 本文先对es6发布之前javascript各种继承实现方式进行深入的分析比较,然后再介绍es6中对类继承的支持以及...
    lazydu阅读 16,727评论 7 44
  • 博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...
    _Dot912阅读 1,454评论 3 12
  • 1、构造函数模式 [url=]file:///C:/Users/i037145/AppData/Local/Tem...
    横冲直撞666阅读 873评论 0 0
  • 是日,梦见与玲玲到外面聚餐。在席者有我以前广东的同事,然后也有玲玲的旧同事。很奇怪,但吃的还算愉快。 用饭...
    拾遗书生阅读 136评论 0 0