位置: 编程技术 - 正文

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如何创建类)

  • 递延所得税税率变化
  • 小规模纳税人代扣代缴个人所得税
  • 公司有流水不申报会怎么样
  • 开办期的所得税年度申报
  • 会议服务费免税吗
  • 资产负债表应付账款怎么算
  • 公司举办年会的要求有哪些
  • 房屋租赁发票票样
  • 自建模具怎么做账
  • 临时用工工资税率怎么算
  • 存货卖出亏损会怎么样
  • 客户退货金额小怎么说
  • 工厂没给工人买保险会被处罚吗?
  • 异地设立分公司可以独立核算吗
  • 个人开具工程款发票所得税怎么算
  • 年终一次性奖金个税计算
  • 维修费属于哪个类别
  • 购销合同的会计分录怎么写
  • 加油卡预付卡销户怎么办
  • 企业工资和社保缴费基数
  • 外包劳务费用如何计算
  • 出售子公司全部股权的股权账务处理
  • 财务报表教育费附加包含地方教育费附加吗
  • 企业投资股票取什么名字
  • windows10如何关闭病毒和威胁防护设置
  • 自产自销的茶叶要交增值税吗
  • 折扣负数的专用发票怎么开
  • php 访问数据库
  • 股权置换和股权转让
  • 炫酷登录注册教程
  • php使用pdo连接数据库
  • 小规模纳税人残保金申报时间
  • pytorch训练模型计算f1
  • 云E办接口文档
  • 法人给对公账户转账
  • 营业外支出贷方在利润表怎么体现
  • 土石方工程的税费缴纳方法
  • java集合框架主要有
  • 理财产品怎么分类总结
  • 普票加专票超过45万怎么交税
  • Win10 64位安装个人版SQL2000图文教程
  • 股东存入投资款要交什么税
  • 新老税法
  • 公司向法人借款有税务风险吗
  • 加工费发票可以抵扣吗
  • 质量问题的扣款计入什么科目
  • 以股权投资入股新公司税务处理
  • 合同已执行但有错误怎么办
  • 以公允价值计量的金融资产
  • 招待费用的进项发票可以抵扣吗
  • 银行证书费入什么科目
  • 季度的工会经费怎么算
  • 买给员工吃的零食内容怎么写
  • mac地图怎么标记多个位置
  • win8不能正常启动
  • cpu numa
  • win10周年版
  • win7 windows安全
  • wim10飞行模式
  • rpm软件安装命令
  • win10内置杀毒
  • win7系统不兼容开不了机
  • win10开始菜单怎么打开
  • linux的简单使用
  • win10系统优化的方法
  • 第三人称控制器在平面上老掉
  • 慎用小儿百部止咳糖浆
  • xcode用法
  • 微信和qq时间格式不一样
  • 使用粗盐热敷十大危害
  • Unity 中WWW加载 AssetBundle---中文路径
  • md5加密python
  • 定额发票网上查询
  • 上饶县国税局局长名单
  • 房地产预缴土增值税
  • 4s店买车需要驾驶证吗
  • ca证书免费申请
  • 外汇管理数字外管平台怎么登录
  • 增值税电子普通发票可以抵扣吗
  • 一般纳税人什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设