位置: 编程技术 - 正文

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

  • 服装加工费税收编码
  • 个人代开资金占用费,如何计算代扣代缴个税
  • 关税的税收主体是外国的进出口商
  • 实验室报销发票
  • 19年高速公路免费时间
  • 银行手续费发票图片
  • 会计核算不实
  • 清理往来账管理办法
  • 退货退款分录
  • 小规模纳税人销售额
  • 国地税合并后有多少个税种
  • 经营租赁是主营业务收入吗
  • 无形资产减值准备
  • 研发加计扣除的标准
  • 收到样品费计入什么科目
  • 车辆购置税计税依据包括
  • 出口退税生产企业增值税附加税怎么申报
  • 应交增值税减免税款账务处理
  • 营利性医院如何开办对外药房业务
  • 加油费开的专用发票可以用来抵扣企业所得税吗
  • 无偿划转房产能否入递延收益
  • 因腐败因素形成的损失企业所得税如何处理?
  • 怎么计提担保赔偿准备金?
  • 会员充值增送如何取消
  • mac显示器颜色不正常
  • 王者荣耀露娜的故事
  • 预收账款预提费用是什么
  • 事业单位财政拨款是编制吗
  • Win10 Build 18363.1350/17763.1728累积更新补丁KB4598298正式推送
  • 为什么我的win10
  • 金针菜的养殖方法和技术
  • linux录制视频工具
  • 仓鼠模拟器3d无限金币中文
  • 资产变现率减资产负债率
  • php怎么写接口给别人调用
  • php 性能优化
  • php常用命令
  • yolov1 实现
  • php打包phar
  • 多交的城建税可以抵减扣除吗
  • opengl 帧率
  • 公司银行账号注销需要什么资料
  • linux lab安装
  • python的继承用法
  • 企业付给个人工资怎么算
  • 垃圾处理费申报怎么填
  • 金税四期 税友
  • 优惠券会计分录怎么做
  • 购车是否有进项税额
  • 增值税销项税率是多少
  • 预收账款核算如何做账
  • 连锁零售药房
  • 物业公司代收水费账务处理
  • 融资手续费计入长期待摊
  • 小规模申请自开发票流程
  • 纳税申报利润总额计算公式
  • 多个客户账款明细
  • select语句中的select*说明
  • sql语句 时间差
  • 数据库中经常用的函数
  • Windows server 2003 密码忘了
  • mac怎么自定义桌面图标
  • win10家庭版关闭
  • xp系统新建用户后原来的用户没有了
  • Windows正在启动卡死
  • Win8.1 32位和64位有什么区别 Win8.1 32位和64区别详细介绍
  • node.js+express
  • jQuery扩展+xml实现表单验证功能的方法
  • python 脚本管理
  • javascript html5移动端轻松实现文件上传
  • 使用BMFont+NGUI利用图片制作自定义字体
  • angularjs2
  • 安卓回调接口怎么写
  • 国家税务总局张局长
  • 招聘退役士兵减刑政策
  • 沈阳税务发票查询系统
  • 双定户如何网上申报
  • 采购设备税率多少
  • 买车可以抵扣企业所得税多少
  • 内蒙古电子税务局登录入口官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设