千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  行业资讯  >  郑州Web前端学习入门之JS继承方式详解

郑州Web前端学习入门之JS继承方式详解

来源:千锋教育
发布人:Yolanda
时间: 2019-07-29 11:12:00

  JS是每一个Web前端工程师都需要掌握的技术,它涵盖的知识点多且杂,让很多初学者伤透了脑筋。众所周知,JS是一门基于原型链的语言,而“继承”就和“原型链”这一概念息息相关。接下来的郑州Web前端学习入门就给大家介绍一下JS常见的6种继承方式。

  1、原型链继承。

  即利用原型让一个引用类型继承另外一个引用类型的属性和方法。原型链继承的缺点是父类新增原型方法/原型属性子类都能访问到,父类一变其它的都变了。

  参考代码:

郑州-行业动态-郑州Web前端学习入门之JS继承方式详解-杨岩岩229

  2、借用构造函数继承。

  主要是借用构造函数的基本思想就是利用call或者apply把父类中通过this指定的属性和方法复制(借用)到子类创建的实例中。缺点:1)只能继承父类的实例属性和方法,不能继承原型属性/方法;2)无法实现构造函数的复用,每个子类都有父类实例函数的副本,影响性能,代码会臃肿。

  参考代码:

郑州-行业动态-郑州Web前端学习入门之JS继承方式详解-杨岩岩384

  3、组合继承。

  是将原型链继承和构造函数继承这两种模式的优点组合在一起,通过调用父类构造,继承父类的属性并保留传参,然后通过将父类实例作为子类原型,实现函数复用。缺点是:父类中的实例属性和方法既存在于子类的实例中,又存在于子类的原型中,不过仅是内存占用,因此,在使用子类创建实例对象时,其原型中会存在两份相同的属性/方法。

  参考代码:

郑州-行业动态-郑州Web前端学习入门之JS继承方式详解-杨岩岩552

  4、原型式继承

  通过父类原型和子类原型指向同一对象,子类可以继承到父类的公有方法当做自己的公有方法,而且不会初始化两次实例方法/属性。缺点是:1)原型链继承多个实例的引用类型属性指向相同,存在篡改的可能;2)无法传递参数,无法实现复用。

  参考代码:

郑州-行业动态-郑州Web前端学习入门之JS继承方式详解-杨岩岩679

  5、寄生式继承

  借助原型可以基于已有的对象来创建对象,var B = Object.create(A)以A对象为原型,生成了B对象。B继承了A的所有属性和方法。这是目前来说,最完美的继承方法!

  参考代码:

郑州-行业动态-郑州Web前端学习入门之JS继承方式详解-杨岩岩784

  6、ES6中class的继承

  ES6中引入了class关键字,class可以通过extends关键字实现继承,还可以通过static关键字定义类的静态方法,这比ES5的通过修改原型链实现继承,要清晰和方便很多。需要注意的是,class关键字只是原型的语法糖,JS继承仍然是基于原型实现的。缺点:并不是所有的浏览器都支持class关键字!

  如果你想了解更多JS学习教程资料,可以来千锋郑州Web前端学习班快速入门,专业大牛老师带你,让你把前端学到不可思议的高度!

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

大数据培训要花多少钱

2023-04-12

计算机前端怎么学

2023-04-12

大数据都需要学什么?难不难

2023-03-30

最新文章NEW

javaee是前端还是后端,都学什么

2023-03-24

it前端是做什么的

2023-03-24

大数据培训要多久?你了解多少

2023-03-09

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>