JavaScript学习之旅-13( 原创 )

简介: 在上一篇文章中,主要学习了JavaScript中的对象以及构造函数的说明和使用,这一篇文章我们主要学习JavaScript的“继承”。关于继承这个特性,JavaScript并不像Java一样有严格的说明,因为在Java中继承是实现拓展父类的功能,将公共的代码进行封装。

上一篇文章中,主要学习了JavaScript中的对象以及构造函数的说明和使用,这一篇文章我们主要学习JavaScript的“继承”。关于继承这个特性,JavaScript并不像Java一样有严格的说明,因为在Java中继承是实现拓展父类的功能,将公共的代码进行封装。在上一篇文章也简单提到了“继承”,那么这篇文章就着重描写JavaScript中关于继承的几种实现形式。

首先复习回忆下在上一篇文章,关于继承在JavaScript中的写法:


img_9d4c161e5bc9b064ee5833c5d4932e5b.png
继承 - 1

首先我们定义了一个cook的对象,这个cook对象里面有姓名字段,也有run函数,接着我们在定义了一个 jack,其中,这个jack 里面仅有一个姓名字段,但是我们希望这个对象可以“继承”cook对象,来使用它的run函数,这个时候,我们可以使用 __proto__ 关键字去实现,这个关键字简单理解就是extends,然后,我们在调用jack对象里面的 run函数。最后通过日志打印的结果可以显示,jack对象成功的使用了cook对象内的run函数。

第二种继承方式是,可以使用Object.create()函数,其中这个括号里面的是我们想要继承的对象:

效果如下图

img_1ca2bc17c5b7573638caac54f2fdb5ab.png
继承 - 2

从ES6开始正式,新的关键字class被引入到JavaScript中。class的目的就是让定义类更简单。上篇文章写构造函数的时候,我们知道通过构造函数也可以实现new对象。先复习下构造函数的写法:


img_935bc485e3960c3148658e0dcf9c6080.png
构造函数的基本写法

如果用新的class关键字来编写这里的newObj,可以这样写:


img_93ff8310b57f91f2e072fd574e4e60fc.png
class关键字的使用

好了,这里对构造函数提供了一种新的使用方式。可能你会问,我们为什么要使用class关键字,因为使用了class关键字的“对象”,我们就可以使用JavaScript的extends关键字了,这个关键字就是继承的意思。继承的写法跟java有点类似,写法如下面的蓝色矩形:


img_9f58fd03077cbf7cf92539107956ab67.png
继承- 3

其中,蓝色矩形内的super方法是这个需要调用父类的构造方法。因此,这样通过extends可以快速完成继承这一特性。

本篇文章主要学习的是关于对象的继承三种实现形式说明和使用。本章的基本内容就结束了。

未完待续。。。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

相关文章
|
3月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
28 0
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
78 0
|
4天前
|
存储 移动开发 JavaScript
学习javascript,前端知识精讲,助力你轻松掌握
学习javascript,前端知识精讲,助力你轻松掌握
|
11天前
|
JavaScript 前端开发 测试技术
学习JavaScript
【4月更文挑战第23天】学习JavaScript
13 1
|
19天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
2月前
|
运维 JavaScript 前端开发
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
发现了一款宝藏学习项目,包含了Web全栈的知识体系,JS、Vue、React知识就靠它了!
|
2月前
|
JavaScript
Vue.js学习详细课程系列--共32节(6 / 6)
Vue.js学习详细课程系列--共32节(6 / 6)
27 0
|
2月前
|
JavaScript
Vue.js学习详细课程系列--共32节(5 / 6)
Vue.js学习详细课程系列--共32节(5 / 6)
29 0
|
2月前
|
JavaScript
Vue.js学习详细课程系列--共32节(4 / 6)
Vue.js学习详细课程系列--共32节(4 / 6)
35 0
|
2月前
|
JavaScript
Vue.js学习详细课程系列--共32节(3 / 6)
Vue.js学习详细课程系列--共32节(3 / 6)
11 0