位置: 编程技术 - 正文

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

  • 小型微利企业税率2023
  • 船舶吨税范围
  • 开的劳务费怎么做账
  • 应付票据和应付账款有什么区别
  • 铲车用什么燃油
  • 印花税漏报,税务局怎么罚款
  • 销售蔬菜的个体工商怎么开具发票
  • 个人住房契税2021年收费标准
  • 公司基本账户销户需要带什么资料
  • 流动性比率小于3说明什么
  • 二手房增值税怎么收取
  • 劳保用品增值税税率是多少
  • 期末留抵税额转出怎么报税
  • 个人收到支票如何做账
  • 同业清算互联前置 骗局
  • 以前年度城建税减免可以计去营业外收入嘛
  • 未分配利润转入本年利润
  • 进项税和销项税月末怎么结转
  • 外资企业税率是多少
  • 残疾人保障金怎么做账
  • linux中!
  • 苹果电脑的删除
  • macos15关闭sip
  • linux的使用场合
  • 债务优化是做什么的工作
  • 政府补助收入的开支怎么做账
  • php图片处理尺寸
  • PHP:mb_parse_str()的用法_mbstring函数
  • 在途物资退货会退款吗
  • jusched.exe是什么进程
  • cpqinet.exe是什么进程 安全吗 cpqinet进程安全性评估
  • vue多模块多项目集成
  • 前端vue后端node
  • 制造业企业资金管理
  • PHP:imagefontwidth()的用法_GD库图像处理函数
  • 企业销售折扣在计征所得税时如何处理
  • 若依原创
  • 文化体育用品批发城有哪些
  • three.js 入门
  • 命令行mkdir创建文件夹
  • php二维数组foreach
  • 预收账款的借贷方向是加还是凿
  • 退休认证在网上怎么操作
  • python {:s}
  • php decbin
  • python正态分布采样
  • echarts怎么引入
  • 报废的设备属于什么
  • 企业股东分红可抵税吗
  • 车船税不计入发票
  • 委托代销业务的会计分录
  • 承租方承担的税费有哪些
  • 税局代开的专票能作废或红冲吗?
  • 纳税期限与申报期限的区别
  • 支付政协扶贫款怎么做账
  • 如何处理公益性岗位问题
  • 应付利息怎么记账
  • 债权人接受债务怎么处理
  • win10简单版
  • centos基本操作
  • ubuntu怎么添加一个新用户
  • ubuntu nm
  • RHEL5 Apache+Tomcat整合,同时支持jsp与php
  • mac安全设置在哪里
  • linux安装编译工具
  • win10用360卫士好吗
  • linuxvi编辑器的用法
  • Win8出现奇怪爆音的完美解决方法
  • surface使用
  • opengl es api
  • cocos屏幕适配方案
  • perl怎么读取文件
  • 自定义图片制作软件
  • jquery日期控件 datepicker
  • android(8) ViewPager页面滑动切换
  • Android应用与开发
  • android assets
  • 村级公益性支出是什么
  • 股权转让税务备案时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设