400-700-1307

【Html5基础教程】Javascript常用的几种继承

2019-01-29 14:26
  1、原型链继承

  核心:将父类的实例作为子类的原型

  特点:非常纯粹的继承关系,实例是子类的实例,也是父类的例,父类新增原型方法/原型属性,子类都能访问到,简单,易于实现

  缺点:要想为子类新增属性和方法,必须要在newAnimal()这样的语句之后执行,不能放到构造器中无法实现多继承来自原型对象的引用属性是所有实例共享的(详细请看附录代码:示例1)

  创建子类实例时,无法向父类构造函数传参

  推荐指数:★★(两大致命缺陷)

  2、构造继承

  核心:使用父类的构造函数来增强子类实例,等于是复制父类的实例属性给子类(没用到原型)

  特点:解决了1中,子类实例共享父类引用属性的问题创建子类实例时,可以向父类传递参数,可以实现多继承(call多个父类对象)

  缺点:实例并不是父类的实例,只是子类的实例,只能继承父类的实例属性和方法,不能继承原型属性/方法,无法实现函数复用,每个子类都有父类实例函数的副本,影响性能。

  推荐指数:★★

  综上所述,我们一般会采取1、2方法结合来使用,使用原型继承属性,构造函数继承方法。

开班信息

当前校区

北京校区
  • 北京校区
  • 上海校区
  • 广州校区
  • 沈阳校区
  • 杭州校区
  • 南京校区
  • 郑州校区
  • 成都校区
  • 深圳校区
  • 西安校区
  • 苏州校区
  • 深圳沙井
  • 深圳观澜
  • 深圳龙岗
  • 武汉校区
  • 西宁校区
  • 石家庄校区
  • 湖北咸宁
  • 广东惠州
  • 广东佛山

                    Copyright © 2007-2019 IT兄弟连教育 版权所有 京ICP备11018177号  京公网安备 11010802026987号