博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript函数继承
阅读量:5957 次
发布时间:2019-06-19

本文共 700 字,大约阅读时间需要 2 分钟。

在ES6中有了继承,使用extends关键字就能实现。但这里讲的讲的不是这种,而是ES6之前的几种实现继承的方式。

(一)原型继承

ECMAScript中将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。

例如:

            

 

 

(二)借用构造函数

在解决原型中包含引用类型值所带来的问题中,使用借用构造函数技术来解决。借用构造函数的基本思想,即在子类型构造函数的内部调用超类型构造函数。函数只不过是在特定环境中执行代码的对象,因此通过使用call()方法可以在新创建的对象上执行构造函数。

例如:

            

 

 

 

(三)组合继承

组合继承,指的是将原型链和借用构造函数的技术组合到一起。思路是使用原型链实现对原型方法的继承,而通过借用构造函数来实现对实例属性的继承。这样,既通过在原型上定义方法实现了函数的复用,又能够保证每个实例都有它自己的属性。

例如:

            

组合继承避免了原型链和借用构造函数的缺点,融合了他们的优点,是JavaScript中最常用的继承模式。

 

(四)继承的原型图

通过画图的形式,可以更直观的了解到继承的原理

 

 

特此声明:如需转载请注明出处,如有疑问请及时提出以便于改正,如有侵权,联系删除,谢谢

 

转载于:https://www.cnblogs.com/CGWTQ/p/10426227.html

你可能感兴趣的文章
大数据分析 | 百年奥运往事知多少
查看>>
矩形覆盖-----批了外皮的亲蛙跳
查看>>
@RequestParam今天才知道是咋用的..
查看>>
全国第一家FPGA云主机(FAAS)正式启动售卖,被阿里云抢先了。
查看>>
Linux 局域网路由新手指南:第 2 部分
查看>>
TensorSpace:超酷炫3D神经网络可视化框架
查看>>
横向ListView (二)—— 添加快速滚动功能及item相关事件实现
查看>>
java 开发银行支付、对账时证书相关的操作总结
查看>>
为什么你的缓存更新策略是先更新数据库后删除缓存,讲讲其他的情况有什么问题?...
查看>>
计数服务设计
查看>>
如何在windows中使用cmd命令去编译,运行C++程序
查看>>
solidity语言开发智能合约
查看>>
再有人问你Netty是什么,就把这篇文章发给他
查看>>
centos7安装kibana5.x
查看>>
svn常用命令
查看>>
OSChina 周五乱弹 —— 你用学习机来搞学习?
查看>>
利于前台开发的两大工具flex和vue
查看>>
Error creating bean with name 'userServiceImpl': Injection of autowired dependencies failed
查看>>
mybatis update返回值的意义
查看>>
SVNQuery–如何创建更新索引并查询
查看>>