位置: 编程技术 - 正文

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

  • 小规模纳税人销售额超过500万
  • 支付短期借款利息的会计科目
  • 个体工商户税务申报如何网上申报
  • 上个月没有清卡,这个月可以抄税吗
  • 维修费开票属于哪个大类
  • 运输费计入什么科目分录
  • 购买润滑油分录
  • 先转款后开票会计分录
  • 行政事业单位拨入经费
  • 聘用劳务人员派遣合法吗
  • 废品材料回收价格
  • 开票未收到款会计分录
  • 加油费发票7月1日开具
  • 专用发票上注明的税额是什么
  • 股权转让时未分配利润的税务处理
  • 发票打错了重新打要交税吗
  • 怎么计算房产税率
  • 对公账户转钱出来
  • 刷卡机怎么收费的吗
  • 快捷方式都变成pdf
  • 微软输入法打不出汉字
  • 公司过年买的鞭炮可以入账吗
  • dwm.exe是啥
  • php云盘源码
  • 俄勒冈州地理之歌
  • 人工智能aima
  • 纽格尔官网
  • 金蝶账无忧待遇和金蝶一样吗
  • php的中文名
  • 销售材料账务处理
  • 个体工商户使用个人二维码收款违法吗
  • 制造业企业资金如何循环周转
  • 计算机视觉的应用
  • yolov3输出是什么
  • 详解php归并排序数据
  • columninfo
  • 基于个人同意处理个人信息的个人什么撤回其同意
  • 或有资产确认的前提为什么是
  • 总公司不是小微企业,分公司独立核算的
  • 增值税专票只有右上角有发票号码
  • c语言中exit函数怎么用
  • 事业单位政府拨款的会计分录
  • 织梦系统
  • 商品发生报废如何处罚
  • 财务报表的组成主要包括
  • 个别计价法和先进先出法的相同点
  • 即征即退 条件
  • 固定制造费用属于固定成本吗
  • 会计政策变更追溯调整的年限
  • 汇算清缴 房租
  • 期末留抵税额和账上哪一个数对应
  • 为什么小规模纳税人少
  • 计提印花税会计分录怎么写
  • 金蝶制造费用明细如何查询
  • 工会经费主要用于什么服务岗位
  • 会计交接事项有哪些
  • sql server随机数函数
  • centos7配置免密登录
  • ubuntu系统防火墙状态
  • mac系统终端命令大全
  • windows8开机慢怎么办
  • centos6.6
  • win7系统纯净版64位无法修改窗口颜色怎么办?Win7窗口颜色修改详细步骤
  • 20150405农历
  • nodejs基本原理
  • 统计一组数据各个数字出现的次数
  • java回收机制原理
  • js设置密码长度
  • python的链表
  • socket客户端发送数据
  • 修改update.zip
  • 如何用jquery
  • 利用ctypes提高Python的执行速度
  • Java如何获得集合里的元素
  • 青岛胶州国际机场在哪个区
  • 印花税计征周期
  • 无锡车辆购置税缴纳地点
  • 一般纳税人城建税减免最新政策
  • 广东省社保缴费基数
  • 请问在哪里可以培训护工
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设