位置: 编程技术 - 正文

Javascript继承机制详解(js继承怎么实现)

编辑:rootadmin

推荐整理分享Javascript继承机制详解(js继承怎么实现),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js继承的三种方式,js继承的三种方式,js继承的三种方式,javascript继承原理,javascript继承原理,javascript继承原理,javascript 继承,javascript 继承,内容如对您有帮助,希望把文章链接给更多的朋友!

学完了Javascript类和对象的创建之后,现在总结一下Javascript继承机制的实现。Javascript并不像Java那样对继承机制有严格明确的定义,它的实现方式正如它的变量的使用方式那样也是十分宽松的,你可以设计自己的方法“模仿”继承机制的实现。有以下几种方法:

1、对象冒充

function定义的代码块就相当于一个类,你可以用而且它有this关键字,你可以用this为它添加属性和方法,上述代码中有以下两句:

this.newMethod1=classA; this.newMethod1(str);

classB中定义了newMethod1变量,它是一个引用,指向了classA,并且还调用了classA,这两句代码的作用等同于直接将classA代码块中的内容直接复制到这里,这样创建的classB对像当然具有classA的属性和方法了。对象冒充还可以实现多继承,如下:

不过,classY会覆盖classX中同名的属性和方法,如果设计没问题的话,classz也不应该继承具有相同属性和方法的不同类。

Javascript继承机制详解(js继承怎么实现)

2、利用call()方法

call()方法中第一个参数传递一个对象,这里的this指的是当前对象,后面的参数(可能有多个)是指传递给调用call()方法的类(函数)所需要的参数,classA.call()也是相当于直接将classA代码块中的内容直接复制到这里,classB的对象同样可以直接使用classB中的变量和方法。

3、原型链

这里对类的定义要用prototype关键字,定义function时不带有参数,prototype后面的变量或方法相当于java中被static修饰后的属性和方法,是属于所有对象的,这里有个特殊之处:cB.prototype=new cA();该句话相当于将cA对象内容复制给cB,cB还可以追加自己的属性和方法。

4、混合方法

这里可以将属性封装在类体内,而方法利用原型方式定义,个人感觉,这是一个很好的设计方法,利用prototype定义的函数可以为多个对象重用,这里需要注意两点:cB类体内有cA.call(this,name);同时还要将cB原型赋为cB对象,即:cB.prototype=new cA();cA.call(this,name)同样相当于将cA类块内的代码复制于此,后面一句话又将cA的方法添加给cB,同时cB还可以追加自己的属性和方法。

以上是本次对Javascript继承机制的总结,不足之处望各位指正批评。

Javascript创建类和对象详解 现总结一下Javascript创建类和对象的几种方法:1、原始的创建方法:scripttype="text/javascript"varperson=newObject();person.name="Amy";person.sex="Woman";person.show=function(){d

JavaScript箭头(arrow)函数详解 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。本文我们介绍箭头(arrow)函数的优点。更简洁的语法我们先

JavaScript基础之this详解 JavaScript的this和Java等面向对象语言中的this大不一样,bind()、call()和apply()函数更是将this的灵活度进一步延伸。为了保证可读性,本文采用意译而非直译

标签: js继承怎么实现

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

上一篇:JavaScript的继承实现小结(js的继承方式)

下一篇:Javascript创建类和对象详解(js如何创建类)

  • 企业转出多交增值税吗
  • 用于非增值税应税项目、免征增值税项目
  • 委托加工物资的消费税计入成本吗
  • 退票凭证什么样子
  • 其他应付款贷方负数怎么调整
  • 以摊余成本计量的金融资产交易费用
  • 餐饮注册个体工商户还是注册公司
  • 怎么用两台电脑测试网线
  • 纳税申报现金流量表报错了可以重新申报吗
  • 发生福利费的会计分录
  • 母公司为子公司担保是利好还是利空
  • 固定资产后续支出资本化和费用化
  • 抵押贷款合同印花税怎么算
  • 固定资产报废会议记录怎么写
  • 单位捐赠汽车账务处理要如何做?
  • 自产产品对外捐赠需要缴纳增值税吗
  • 年所得税12万申报
  • 开过的增值税发票丢失
  • 职工教育经费税前扣除标准2023年
  • 金税盘上报汇总是什么时候
  • 在纳税申报时如何填写申报表?
  • 出口收入转内销后汇率
  • 如何界定企业所得税的不征税收入与应税收入
  • 递延所得税资产是什么
  • 贸易公司购入商品会计分录
  • 企业购买固定资产要交印花税吗
  • 其他综合收益会计科目编码
  • windows10如何切屏
  • 外购固定资产对账怎么算
  • macOS 11 Big Sur 开发者预览版 Beta 7正式推送
  • 关联企业承担什么责任
  • 施工企业自建自用的工程
  • PHP:curl_share_init()的用法_cURL函数
  • 外企借款投资利息高吗
  • 海关进口增值税怎么认证抵扣
  • 利息费用扣除限额债资比
  • 销售折扣增值税如何处理
  • Calanques de Piana岩层上的一个心形洞,法国科西嘉岛 (© joningall/Getty Images)
  • 计提坏账准备和转销坏账准备
  • 外汇申报中付款什么意思
  • 收到社保稳岗补贴转入营业外收入要交企业所得税吧
  • 图像深度算法
  • php不同用户登录不同页面
  • 业务招待费能计入成本吗
  • 建筑劳务公司适应什么工程
  • mongodb管理工具
  • 财政总预算会计的特点
  • 研发人员具备的条件
  • 本年利润亏损还需要交所得税吗
  • 发票入账需要哪些附件的文件
  • 研发费用明细科目怎么填
  • 跨月的普通发票能作废吗
  • 融资租赁租金会计科目
  • 二手车公司销售二手车增值税怎么算
  • 享受优惠政策的通知
  • 股东出资转为借款
  • 企业一般户怎么查询
  • 新增社保需要工资表和记账凭证吗
  • 生产成本工时怎么算
  • 计提加计抵减额的会计处理
  • 融资租赁公司收费标准
  • 账务调整的原则
  • 旅行社的代订机票产品能报销吗
  • 哪些工资属于社会福利
  • sql语句学习
  • mysql数据库随机取数据
  • 催化剂过低怎么解决
  • macu盘安装windows
  • ·exe病毒
  • cpqa1000.exe是安全进程吗 cpqa1000进程有什么作用
  • windows下打开注册表的命令是什么
  • 64位的win10更新安装补丁KB3105213失败总是重复安装该怎么办?
  • ExtJS 2.0 GridPanel基本表格简明教程
  • 在flash中制作课件一般会遵循什么流程
  • js必须掌握的知识点
  • iframe嵌套页面滚动事件
  • doctype报错
  • 四川省税务局发票
  • 督察综合服务中心是干什么的
  • 长春市朝阳区公安局电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设