位置: 编程技术 - 正文

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

  • 补缴以前年度增值税以及滞纳金
  • 个体工商户单位性质怎么填
  • 差旅费津贴需要缴纳个人所得税吗?
  • 无形资产研发成功
  • 建筑行业分包款要分项目扣除吗
  • 电子税务局财务负责人实名认证
  • 高铁票抵扣进项税
  • 同一控制下企业合并报表编制
  • 卷烟消费税纳税环节有几个
  • 企业滞留发票的产生和处理
  • 外地施工如何开发票
  • 购原材料红字发票会计分录怎么写?
  • 减半征收怎么算
  • 没通过认证的增值税发票是否能够记入成本抵扣
  • 为员工买的商业险是否能税前扣除
  • 资产减值损失列示在利润表哪里
  • 公立医院规章制度
  • 暂估入库冲回有差额
  • 外地项目的预交税款没交怎么办
  • 以前年度损益调整会计分录
  • 以前年度未申报的专项附加扣除
  • 公司注销时债权债务怎么处理
  • 缴纳个人所得税会计分录
  • 苹果手机录音怎么转换成mp3格式
  • 苹果手机id被锁定什么意思
  • 华硕主板进入bios设置
  • 企业合并案例
  • 企业出售自用汽车
  • 企业增值税征收范围包括
  • 发票认证平台上不去
  • ·exe是什么文件
  • 无法访问windows installer服务,没有正确安装
  • 无法访问您可能的网络
  • 正版的win10多少钱
  • 采用权益法核算
  • 闲置私家车出租APP
  • 橡皮树的养殖方法视频教程
  • 营改增通俗
  • 客户多付款入哪个科目
  • vuex存储用户信息
  • 办公室装修款怎么做账
  • xss攻击解决方案
  • linux中login命令
  • 公司建造厂房
  • 补交当年的增值税
  • 坏账准备备案申请资料
  • 企业纳税人识别号是什么
  • 营业外收支的账户是什么
  • 企业所得税是先预缴吗
  • 租房没有合同编号可以提取公积金吗
  • 织梦可以放两套模板吗
  • dedecms配置
  • 报销单据粘贴单模板
  • 上一年度所得税忘记计提了怎么办
  • 单位缴纳工会经费有什么用
  • 购买固定资产记账
  • 坏账准备的计提分录
  • 预付账款为什么属于资产类
  • 水电费进项税额转出20%
  • 投资收益科目的借贷
  • 常见开具发票错误详解是?
  • 研发费用和研发支出的会计处理
  • 累计盈余下级科目
  • 编程经验点滴怎么写
  • mysql分页性能
  • xp系统远程桌面设置
  • win8官方u盘安装教程
  • inodecmn.exe
  • win8.1 升级
  • 3ds怎么用3ds格式
  • opengl绘制点线面
  • python time.now
  • NGUI之UITab Bar的不能将Sprite与SelectedSprite设置成相同的精灵
  • pycharm配置pyqt
  • Express + Session 实现登录验证功能
  • 全面解析白羊座o型血女
  • 代扣社保代扣公式是什么
  • 本期预缴税额怎么填
  • 5种方式教你如何查询
  • 电子就业协议签了还是应届生
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设