位置: 编程技术 - 正文

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)

  • 增值税普通发票几个点
  • 企业会计准则颁布部门
  • 工人工伤误工费赔偿多少一天
  • 招待费汇算清缴扣除比例
  • 销售使用过的汽车如何缴纳增值税
  • 一般纳税人免征教育费附加的文件
  • 行政单位工资支出标准
  • 购进蔬菜的进项税额
  • 增值税留抵退税政策2022
  • 存货入账价值计算公式
  • 包装物押金是含税价格吗
  • 工程服务预交税款怎么账务处理?
  • 小规模纳税人出租房屋增值税税率是多少
  • 跨县提供建筑服务增值税申报
  • 请问哪些福利费不用交税
  • 小规模未开票收入如何申报增值税
  • 不是公司员工可以买原始股吗
  • 技术转让免征增值税文件
  • 库存现金的主要内容有哪些
  • dhcp存在哪些安全隐患
  • linux系统开机黑屏怎么办
  • linux太卡顿
  • 一般纳税人购进农产品如何抵扣进项税额
  • 公司收入算认缴出资吗
  • 工程结算转收入
  • 长期借款科目的期末余额反映尚未偿还的借款本金
  • vue3.0 vite
  • 企业与员工之间的法律
  • 短视频小程序源码
  • php similar_text()函数的定义和用法
  • 语义分割入门教程
  • php实现和工作原理
  • gmt微调
  • 编程中char什么意思
  • firewall enable
  • mysql 临键锁
  • 印花税减半征收减免性质代码
  • python如何编写函数
  • 捐赠利得计入营业外收入吗?
  • 有合同没有发票怎么入账
  • uni-app表单验证
  • mysql5.7压缩包安装配置教程
  • 受托代销商品的手续费计入什么科目
  • 建造合同收入的会计处理
  • 高并发数据库解决方案
  • 公司支付的工伤待遇包括哪些
  • 固定资产备抵科目有哪些
  • 劳务总价包干
  • 所得税的汇算清缴日在资产负债表日后期间
  • 审计报告的分类不包含
  • 材料合理损耗计入入账价值吗
  • 可供出售金融资产的会计处理
  • 收到销售折让的负数发票怎么做会计分录
  • 企业相关成本费用有哪些
  • 应交税费核算规定最新
  • 什么叫先打后补
  • 发票作废了还能恢复吗?
  • win10安装sqlserver2016出错
  • java调用jni
  • sql简单教程
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • upd什么意思
  • win8打开运行的快捷键是什么
  • w8系统ie浏览器在哪
  • win10画图功能
  • linux小技巧
  • javascript Ext JS 状态默认存储时间
  • 浅谈特殊儿童的融合教育论文
  • 使用JQuery实现Ctrl+Enter提交表单的方法
  • rd命令是什么
  • js中密码由字母和数字组成,长度为4-20
  • jquery制作简单的网页
  • 云办税大厅
  • 上市公司的税务风险大吗
  • 上饶市税务局咨询电话
  • 基层税收工作的建议意见
  • 重庆两江新区总工会社会化工作者待遇
  • 营业税未达起征点
  • 地税局属于市直单位吗
  • 会议服务费属于什么类别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设