位置: 编程技术 - 正文

基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解(javascript例题)

编辑:rootadmin

继承的方式ECMAScript 实现继承的方式不止一种。这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的继承细节并非完全由解释程序处理。作为开发者,你有权决定最适用的继承方式。最原始的继承实现方式就是对象冒充,下面着重介绍该方法。

对象冒充对象冒充实现继承的核心其实依赖于在函数环境中使用 this 关键字。其原理如下:构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 ClassA 构造函数成为 ClassB 的方法,然后调用它。ClassB 就会收到 ClassA 的构造函数中定义的属性和方法。例如,用下面的方式定义 ClassA 和 ClassB:关键字 this 引用的是构造函数当前创建的对象。不过在这个方法中,this 指向的所属的对象。这个原理是把 ClassA 作为常规函数来建立继承机制,而不是作为构造函数。如下使用构造函数 ClassB 可以实现继承机制:在这段代码中,为 ClassA 赋予了方法 newMethod(请记住,函数名只是指向它的指针)。然后调用该方法,传递给它的是 ClassB 构造函数的参数 sColor。最后一行代码删除了对 ClassA 的引用,这样以后就不能再调用它。

所有新属性和新方法都必须在删除了新方法的代码行后定义。否则,可能会覆盖超类的相关属性和方法:为证明前面的代码有效,可以运行下面的例子:对象冒充可以实现多重继承有趣的是,对象冒充可以支持多重继承。例如,如果存在两个类 ClassX 和 ClassY,ClassZ 想继承这两个类,可以使用下面的代码:这里存在一个弊端,如果存在两个类 ClassX 和 ClassY 具有同名的属性或方法,ClassY 具有高优先级。因为它从后面的类继承。除这点小问题之外,用对象冒充实现多重继承机制轻而易举。

由于这种继承方法的流行,ECMAScript 的第三版为 Function 对象加入了两个方法,即 call() 和 apply()。后来很多衍生出来的实现继承的方法其实也是基于call() 和 apply()来实现的。

推荐整理分享基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解(javascript例题),希望有所帮助,仅作参考,欢迎阅读内容。

基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解(javascript例题)

文章相关热门搜索词:基于JAVASCRIPT实现的可视化工具是,基于JAVASCRIPT实现的可视化工具是,基于javascript的毕业设计选题,javascript运用,基于javascript的毕业设计,基于JAVASCRIPT实现的可视化工具是,基于javascript的毕业设计,基于JAVASCRIPT实现的可视化工具是,内容如对您有帮助,希望把文章链接给更多的朋友!

你必须知道的JavaScript 中字符串连接的性能的一些问题 而JavaScript的核心是ECMAScript。与其他语言类似,ECMAScript的字符串是不可变的,即它们的值不能改变。请考虑下面的代码:varstr="hello";str+="world";实际上,

你必须知道的JavaScript 变量命名规则详解 变量命名还应遵守以下某条著名的命名规则:著名的变量命名规则Camel标记法首字母是小写的,接下来的字母都以大写字符开头。例如:vartestValue=0,second

基于JavaScript 声明全局变量的三种方式详解 JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍。声明方式一:使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变

标签: javascript例题

本文链接地址:https://www.jiuchutong.com/biancheng/377603.html 转载请保留说明!

上一篇:基于JavaScript实现继承机制之调用call()与apply()的方法详解(js基于什么)

下一篇:你必须知道的JavaScript 中字符串连接的性能的一些问题(你必须知道的最新婚姻法)

  • 我国会计准则规定,会计核算以人民币为记账本位币
  • 加工承揽属于劳务关系吗
  • 出差加油算什么费用
  • 小规模纳税人缴纳上月应交增值税
  • 土地增值税税收优惠
  • 偿债基金公司债
  • 进出口货物买卖合同
  • 小规模纳税人网上申报税务操作流程
  • 营改增后还有企业所得税吗?
  • 账本印花税如何申报缴纳
  • 小规模纳税人计提增值税账务处理
  • 金银首饰零售消费税税收优惠
  • 进项税额抵扣欠税后怎么申报
  • 进项税额能抵扣的几种情形
  • ipad常用语在哪里
  • windows10office更新
  • u盘的重装系统
  • Win7系统中如何快速查询文件内容
  • 王者荣耀中张飞的台词
  • 先入费用后来发票怎么做账
  • 本年利润有余额可以结账吗
  • 坏老狼告诉我们什么道理
  • 如何修复错误 OC3 INVT CHF100a
  • 长期停工的影响
  • 核定征收的企业怎么交所得税
  • PHP:Memcached::addServers()的用法_Memcached类
  • PHP:curl_close()的用法_cURL函数
  • 公租房租金收入免企业所得税吗
  • 罚款在企业所得税前可以扣除吗
  • 辞退补偿款怎么算
  • 跨月未认证的发票可以作废吗
  • 代扣增值税如何做账
  • 注册教育培训机构需要哪些手续
  • ts和js混用
  • 企业会计准则应用指南2023pdf
  • Python人脸识别智能考勤系统 (供源码,附报告)(可答疑,可调试)
  • 李宏毅课程
  • 如何使用扫描王
  • 可供出售金融资产公允价值变动
  • 固定资产的主要风险有哪些
  • 信用减值损失科目借贷方向
  • 财务报表季报利润表本月金额怎么填
  • php用户登录注册源码
  • 项目差旅费能计入项目费用吗
  • 销货清单是否必须备案
  • 个人所得税定额税率
  • 公司汽车转卖给个人税率
  • 电商新规则
  • 园林绿化企业属于什么行业
  • 备用金超过时间会怎么样
  • 零余额账户对账余额调节表
  • 医院的自助缴费机怎么开具发票
  • 分公司费用报销
  • 盈余公积的会计处理
  • 反记账是什么
  • MySQL 5.7.18 release版安装指南(含有bin文件版本)
  • 跳线短路
  • linux怎么格式化硬盘
  • unity 3d数学
  • debug命令及其基本操作
  • 详细说明什么是支撑
  • perl遍历哈希
  • 虚拟机中使用keil
  • css开发环境
  • wordpress单页面店铺
  • linux禁止所有用户登录
  • python 内连接
  • python中input的用法
  • js中checked什么意思啊
  • pycharm sftp
  • unity3d鼠标点击移动
  • javascript引用值
  • JQuery绑定事件的函数是
  • Cannot run program "/home/mohemi/Program/adt-bundle-linux-x86_64-20130729/sdk//tools/emulator": erro
  • js中写html代码
  • Jquery实现select multiple左右添加和删除功能的简单实例
  • 支付给境外的咨询费需要什么资料
  • 用于赞助的消费品需要缴纳消费税吗
  • 青岛市市南区税务局第一税务所
  • 官方客服热线人工台电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设