位置: 编程技术 - 正文

JS继承 笔记(js继承的概念)

编辑:rootadmin
JS继承 JavaScript中没有类的概念,与类相关的继承的概念更是无从谈起,但是我们可以通过特殊的语法来 模拟面向对象语言中的继承。 在JS中模拟继承有多种方式,其中寄生组合模式是一种比较容易简单的模拟继承模式,下面我们就来 介绍一下用寄生组合模式模拟继承。 JS的继承包括属性的继承和方法的继承,他们分别通过不同的方法来实现。 1属性的继承 属性的继承通过改变函数的执行环境来实现的。而改变函数的执行环境可以使用call()和apply()两种 方法来实现。 我们首先创建一个Animal“类”(因为JS中没有类的概念,这里只是一个模拟,它实际上只是一个 Function函数对象)。 再创建一个Lion“类”,“继承”于Animal 这里使用了Animal的apply方法,把Animal的执行环境改成Lion被调用时的执行环境。 这里要解释一下,我们要想使用Lion这个“类”,通常需要new一个Lion。如:        var l = new Lion(); 而new关键字是十分伟大的,在上段代码中,new关键字完成了以下几项工作:    1)开辟堆空间,以准备存储Lion对象   2)修改Lion对象本身的执行环境,使得Lion函数的this指向了Lion函数对象本身。   3)调用Lion“类”的“构造函数”,创建Lion对象   4)将Lion函数对象的堆地址赋值给变量l,这个时候l就指向了这个Lion函数对象 所以经过new关键字以后Animal.apply(this, ["狮子"])中的this已经指向了Lion函数对象本身了,所 以这段代码就将Animal函数的执行环境改变成了Lion函数中,相当于以下代码: 而此时的this已经是Lion函数对象了所以上段代码进一步相当于: 这样就给Lion函数对象添加了name属性,也模拟了Lion函数继承于Animal函数的效果。 2方法的继承 在JS中每一个“类”(即函数,注意不是函数对象)都有一个prototype属性,prototype表示该函数 的原型,也表示一个类的成员的集合(通常是方法的集合)。我们可以通过函数的prototype属性来实现方 法的继承。 我们同样首先创建一个Animal“类”: 给Animal的原型中加入一个eat方法: 创建一个Lion“类”,同时完成对Animal“类”的属性的继承 注意下面的代码,我们马上要完成方法的继承了 Lion.prototype=new Animal(); 这样就把一个Animal函数对象储存在了Lion的原型中了,Lion也就包含了Animal中的方法了(其实也 包含了属性)。这样就模拟了Lion函数对Animal的继承。

推荐整理分享JS继承 笔记(js继承的概念),希望有所帮助,仅作参考,欢迎阅读内容。

JS继承 笔记(js继承的概念)

文章相关热门搜索词:js继承怎么实现,js继承的方式及原理,js继承几种方式,js继承例子,js继承的三种方式,js继承的三种方法,js继承的三种方法,js继承例子,内容如对您有帮助,希望把文章链接给更多的朋友!

Javascript 面向对象编程(一) 封装 学习Javascript,最难的地方是什么?我觉得,Object(对象)最难。因为Javascript的Object模型很独特,和其他语言都不一样,初学者不容易掌握。下面就是我

Javascript面向对象编程(二) 构造函数的继承 今天要介绍的是,如何生成一个"继承"多个对象的实例。比如,现在有一个"动物"对象的构造函数,functionAnimal(){this.species="动物";}还有一个"猫"对象的构

Javascript面向对象编程(三) 非构造函数的继承 今天是最后一个部分,介绍不使用构造函数实现"继承"。一、什么是"非构造函数"的继承?比如,现在有一个对象,叫做"中国人"。varChinese={nation:'中国'};

标签: js继承的概念

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

上一篇:javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)(js中的类是什么)

下一篇:Javascript 面向对象编程(一) 封装(javascript面向对象吗)

  • 差额征税如何开票备注内容应该怎么调
  • 怎样确认个人所得税专项扣除操作流程
  • 公司端午礼盒
  • 增值税专用发票抵扣税额是什么意思
  • 进项税额在贷方怎么登明细账
  • 进口货物再出口 增值税处理
  • 发票第一联需要盖章嘛
  • 企业申报表有异常期间可以更换财务负责人吗
  • 税务登记财务负责人可以是法人吗
  • 小微企业附加税税收优惠政策
  • 工资发放流程以及如何记账
  • 收到的印花税退税怎么会计处理
  • 污水处理企业如何捕捉碳中和减少了的碳足迹
  • 工业企业生产费用要素
  • 经营二手车怎么交税
  • 小规模企业应交增值税的二级科目
  • 提前竣工的规定是什么
  • 社保费补缴有滞纳金吗
  • 百分百控股股东叫什么
  • 事业单位的出纳要承担的责任是什么
  • 在建工程摊销是啥意思
  • 物流车辆挂靠账务怎么处理?
  • 母公司开票给子公司有什么税务风险吗
  • 产值等于营业额吗
  • 承兑汇票属于现金支付吗
  • 企业委托研发过程中发生的研发费用如何加计扣除?
  • 研发费用归集会计分录
  • 房地产开发企业预收款预缴增值税
  • 微信转账的手续费规则
  • 产值和营业收入差距大
  • 企业给予的折扣怎么入账
  • 购买现金支票的工本费计入什么科目
  • 进货返利会计分录
  • 外贸企业进料加工复出口退税政策
  • 融资租赁利息资本化条件
  • 兰斯洛特
  • 看了这篇文章感触很深的说说
  • jasypt加密解密
  • 小程序从入门到精通
  • svn命令行拉取代码
  • python怎么做gui
  • 季节性停工计入当期损益吗
  • 老板天天吸烟
  • 注册资本印花税最新政策2023年
  • 折旧费属于什么总账科目
  • 办公室装修用什么材料便宜
  • 逃税是什么意思?
  • 一般纳税人购进普票怎么做分录
  • 其他应付款在借方资产负债表怎么填
  • 工程项目劳务分包招投标要多久
  • 总资产法怎么计算公式
  • 公司与公司之间可以借款吗
  • 待摊费用和预付费用的区别
  • 购买金税盘未抵税怎么办
  • 资金结余率怎么算
  • 香港发票在内地认可吗
  • 上一年度企业所得税汇算清缴会计分录
  • 公户网银转账操作流程
  • 折扣 会计
  • 残疾人就业保障金怎么计算
  • 计提盈余公积比例
  • 出纳建账账户名称怎么写
  • sqlserver 触发器 redis
  • mysql 创建root用户和普通用户及修改删除功能
  • centos7.2安装
  • 根据日期算时间
  • 重装系统注册表会重置吗
  • centos开启telnet服务
  • 正在进行设备安装 win10安装打印机
  • dos 批处理
  • cocos2dx4.0入门
  • bat注销命令
  • dos命令显示时间
  • javascript definitive guide
  • android开发教程视频
  • js实例教程
  • 欠税务局税款的后果
  • 开票软件提示连接服务器失败怎么办
  • 山东社保费缴纳多少
  • 增值税发票报税流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设