没有合适的资源?快使用搜索试试~ 我知道了~
JavaScript类的继承方法小结【组合继承分析】
0 下载量 174 浏览量
2020-12-11
14:14:17
上传
评论
收藏 46KB PDF 举报
温馨提示
试读
1页
本文实例讲述了JavaScript类的继承方法。分享给大家供大家参考,具体如下: 在JavaScript 里,被继承的函数称为超类型(父类,基类也行,其他语言叫法),继承的函数称为子类型(子类,派生类)。继承也有之前问题,比如字面量重写原型会中断关系,使用引用类型的原型,并且子类型还无法给超类型传递参数。 为了解决引用共享和超类型无法传参的问题,我们采用一种叫借用构造函数的技术,或者成为对象冒充(伪造对象、经典继承)的技术来解决这两种问题。 function aObj(){ this.name = ['小红','小强']; } } aObj.prototype.showname =
资源详情
资源评论
资源推荐
JavaScript类的继承方法小结【组合继承分析】类的继承方法小结【组合继承分析】
本文实例讲述了JavaScript类的继承方法。分享给大家供大家参考,具体如下:
在JavaScript 里,被继承的函数称为超类型(父类,基类也行,其他语言叫法),继承的函数称为子类型(子类,派生类)。继承
也有之前问题,比如字面量重写原型会中断关系,使用引用类型的原型,并且子类型还无法给超类型传递参数。
为了解决引用共享和超类型无法传参的问题,我们采用一种叫借用构造函数的技术,或者成为对象冒充(伪造对象、经典继承)
的技术来解决这两种问题。
function aObj(){
this.name = ['小红','小强'];
}
}
aObj.prototype.showname = ()=>{
alert(this.name)
}
function bObj(){
aObj.call(this); //只针对构造函数本身的继承 还需要继承原型
}
借用构造函数虽然解决了函数本身的继承,但没有继承原型链。所以,我们需要原型链+借用构造函数的模式,这种模式称为
组合继承。
方法一:方法一:
bObj.prototype = aObj.prototype;
缺点:缺点:引用类型,在操作对象原型时候,直接改变堆内存中对象的方法
方法二:方法二:
bObj.prototype = new aObj();
这种继承借助原型并基于已有的对象创建新对象,同时还不必因此创建自定义类型,但是构造函数两次继承,不是很好
方法三:方法三:
bObj.prototype = Object.create(aObj.prototype);
bObj.prototype.constructor = bObj
使用a原型对象及其属性去创建一个新的对象,并将这个对象的constructor指向B函数本身,不存在重复继承的问题
方法四:方法四:
for (var i in aObj.prototype) {
bObj.prototype[i] = aObj.prototype[i];
}
将a的原型链遍历给b对象,实现原型的深度拷贝,双方互不影响
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧
总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
weixin_38643127
- 粉丝: 8
- 资源: 921
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 操作系统作业:时间片轮转算法的模拟实现C++源码+文档说明
- 基于改进yolov5的金属曲面缺陷检测,使用pyqt5实习了实时视频检测的功能python源码+文档说明
- 基于Qt及OpenCv设计了一个视觉检测系统,实现了米粒的计数、缺陷分析功能+源码+文档说明+效果图
- 基于STM32F1和TB6612芯片的电机驱动板,可以驱动两个电机正反转,具有比L298N更小的体积源码+文档说明
- 基于Javascript的CNN卷积交互式播放器设计源码
- 基于Layui的树表格(treeGrid)前端设计源码
- 基于Vue框架的Node+Vue茶叶商城设计源码
- 基于HTML的响应式网站设计源码
- 基于Python的CNN医学图像分割设计源码
- jjcbbdnfiapchhkemifphepfgilhdokf_4.5.6_chrome.zzzmh.cn.crx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0