位置: 编程技术 - 正文

javascript中的3种继承实现方法

编辑:rootadmin

推荐整理分享javascript中的3种继承实现方法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

使用Object.create实现类式继承

下面是官网的一个例子

此时Rectangle原型的constructor指向父类,如需要使用自身的构造,手动指定即可,如下

Rectangle.prototype.constructor = Rectangle;

使用utilities工具包自带的util.inherites

语法

util.inherits(constructor, superConstructor)例子

也很简单的例子,其实源码用了ES6的新特性,我们瞅一瞅

javascript中的3种继承实现方法

其中Object.setPrototypeOf即为ES6新特性,将一个指定的对象的原型设置为另一个对象或者null

语法

Object.setPrototypeOf(obj, prototype)obj为将要被设置原型的一个对象prototype为obj新的原型(可以是一个对象或者null).

如果设置成null,即为如下示例

Object.setPrototypeOf({}, null);感觉setPrototypeOf真是人如其名啊,专门搞prototype来玩。那么这个玩意又是如何实现的呢?此时需要借助宗师__proto__

即把proto赋给obj.__proto__就好了。

使用extends关键字

熟悉java的同学应该非常熟悉这个关键字,java中的继承都是靠它实现的。ES6新加入的class关键字是语法糖,本质还是函数.

在下面的例子,定义了一个名为Polygon的类,然后定义了一个继承于Polygon的类 Square。注意到在构造器使用的 super(),supper()只能在构造器中使用,super函数一定要在this可以使用之前调用。

使用关键字后就不用婆婆妈妈各种设置原型了,关键字已经封装好了,很快捷方便。

JavaScript中的this,call,apply使用及区别详解 学习起因:在之前的JavaScript学习中,this,call,apply总是让我感到迷惑,但是他们的运用又非常的广泛。遂专门花了一天,来弄懂JavaScript的this,call,apply。中

JavaScript数据结构与算法之栈与队列 学习起因曾经有一次在逛V2EX时,碰到这么一个帖子。数学完全还给老师了,想学回一些基础数学,大概是高中程度的,有什么书籍推荐?发帖的楼主大

JavaScript数据结构与算法之链表 链表简介链表是一种常见的数据结构,也属于线性表,但不会按线性的顺序来储存数据。而是在每一个节点中,储存了下一个节点的指针。可以看图理

标签: javascript中的3种继承实现方法

本文链接地址:https://www.jiuchutong.com/biancheng/369962.html 转载请保留说明!

上一篇:javascript中new关键字详解(js new option)

下一篇:JavaScript中的this,call,apply使用及区别详解(javascript中的this)

  • 公司支付宝收款二维码怎么弄
  • 房屋租赁备案要准备什么资料
  • 国家税务定额发票票样
  • 现金日记账是收付实现制吗
  • 金税盘维护费减免政策代码
  • 由收款人签发,经付款人承兑
  • 劳务费的专用发票有哪些
  • 商贸公司结转成本应该贴什么凭证
  • 研发项目领原料加工成产品会计处理是怎样的?
  • 年初未分配利润加本年净利润等于
  • 申报截止日期前还能用吗
  • 营改增后还有营业费用吗
  • 国税和地税归哪里管
  • 个体工商户季度申报报税流程
  • 按揭的车可以只买交强险吗
  • mac如何重装系统win10
  • 报销伙食费的会计分录
  • mac 移动硬盘 文件系统
  • 期货交易的会计分录
  • 若依框架登录后跳转到指定页面
  • 城市里创业
  • backup是什么文件夹怎么能打开
  • 政府性基金收入怎么收
  • 开具增值税发票哪些情形不用交税?
  • 深度学习&故障诊断初学者 - 学习路线
  • Stable Diffusion 准确绘制人物动作及手脚细节(需ControlNet扩展)
  • vue 移动端
  • 企业固定资产账户2019年6月初借方余额5000000元
  • css去掉项目符号
  • 基于中国国情的中国式现代化具有哪些特色
  • linux php redis扩展
  • 织梦最新发表的作品
  • 以前年度损益调整借贷方向
  • 企业会计准则季报利润表填写
  • 普通发票不满8项怎么开明细
  • 增值税发票作废后怎么处理
  • 前端面试题汇总.pdf
  • 补开上年发票的税务处理要怎么做?
  • mongodb聚合函数mapreduce
  • 金税盘离线开票时间超限怎么办
  • 企业期末预收账款怎么算
  • 房地产公司项目开发流程
  • 建筑业异地预缴企业所得税怎么算
  • 实收资本 增加
  • 企业账户里的政府账户
  • 代扣税是不是社保
  • 购进材料入库,其价税款通过银行支付
  • 认缴的注册资金怎么做账
  • 可供出售金融资产属于什么科目
  • 经营所得与劳务所得的直别
  • 累计折旧可以作为利润分配吗
  • 建筑业简易征收税率5%
  • 会计凭证的摘要 报销 保险费用
  • 简易征收是什么意思和一般纳税人
  • sql server 3417错误
  • mysql5.7.23
  • MySQL 5.7.18 release版安装指南(含有bin文件版本)
  • Windows Server 2008下的自助安全防御
  • 硬盘安装操作系统出现,两个操作系统怎么选择
  • firefox干啥的
  • windows10经常假死
  • linux命令find用法
  • asmb进程
  • 苹果知识大全
  • members-area.exe是什么进程 members-area进程查询
  • windows8网络连接
  • win7桌面小工具如何设置使用
  • linux必学的60个命令rar
  • css控制图片置灰
  • python双循环题
  • jquery插件之家
  • python变量与数据类型
  • Python爬取网易云音乐歌单内歌曲歌手封面播放地址
  • 三角进攻怎么打
  • jquery有哪些
  • 甘肃国家税务局官网app
  • 重庆车位过户需要多久时间
  • 从事农业种植是什么职业
  • 辽宁地方税务局招聘
  • 江苏省的发票如何查验真伪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设