位置: 编程技术 - 正文

深入理解JavaScript系列(45):代码复用模式(避免篇)详解(深入理解新发展理念)

编辑:rootadmin

推荐整理分享深入理解JavaScript系列(45):代码复用模式(避免篇)详解(深入理解新发展理念),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入理解javascript特性.pdf,深入理解新发展理念,深入理解新发展理念,深入理解计算机系统,深入理解javascript特性.pdf,深入理解计算机系统,深入理解javascript,深入理解javascript特性,内容如对您有帮助,希望把文章链接给更多的朋友!

介绍

任何编程都提出代码复用,否则话每次开发一个新程序或者写一个新功能都要全新编写的话,那就歇菜了,但是代码复用也是有好要坏,接下来的两篇文章我们将针对代码复用来进行讨论,第一篇文避免篇,指的是要尽量避免使用这些模式,因为或多或少有带来一些问题;第二排是推荐篇,指的是推荐大家使用的模式,一般不会有什么问题。

模式1:默认模式

代码复用大家常用的默认模式,往往是有问题的,该模式使用Parent()的构造函数创建一个对象,并且将该对象赋值给Child()的原型。我们看一下代码:这种模式的缺点是Child不能传进参数,基本上也就废了。

模式2:借用构造函数

该模式是Child借用Parent的构造函数进行apply,然后将child的this和参数传递给apply方法:缺点也很明显,say方法不可用,因为没有继承过来。

模式3:借用构造函数并设置原型

深入理解JavaScript系列(45):代码复用模式(避免篇)详解(深入理解新发展理念)

上述两个模式都有自己的缺点,那如何把两者的缺点去除呢,我们来尝试一下:运行起来,一切正常,但是有没有发现,Parent构造函数执行了两次,所以说,虽然程序可用,但是效率很低。

模式4:共享原型

共享原型是指Child和Parent使用同样的原型,代码如下:确定还是一样,Child的参数没有正确接收到。

模式5:临时构造函数

首先借用构造函数,然后将Child的原型设置为该借用构造函数的实例,最后恢复Child原型的构造函数。代码如下:问题照旧,Child不能正常接收参数。

模式6:klass

这个模式,先上代码吧:怎么样?看着是不是有点晕,说好点,该模式的语法和规范拧得和别的语言一样,你愿意用么?咳。。。

总结

以上六个模式虽然在某种特殊情况下实现了某些功能,但是都存在各自的缺点,所以一般情况,大家要避免使用。

深入理解JavaScript系列():对象创建模式(上篇) 介绍本篇主要是介绍创建对象方面的模式,利用各种技巧可以极大地避免了错误或者可以编写出非常精简的代码。模式1:命名空间(namespace)命名空间

深入理解JavaScript系列():设计模式之桥接模式详解 介绍桥接模式(Bridge)将抽象部分与它的实现部分分离,使它们都可以独立地变化。正文桥接模式最常用在事件监控上,先看一段代码:addEvent(element,'cl

深入理解JavaScript系列():设计模式之状态模式详解 介绍状态模式(State)允许一个对象在其内部状态改变的时候改变它的行为,对象看起来似乎修改了它的类。正文举个例子,就比如我们平时在下载东西

标签: 深入理解新发展理念

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

上一篇:深入理解JavaScript系列(38):设计模式之职责链模式详解(深入理解计算机系统)

下一篇:深入理解JavaScript系列(47):对象创建模式(上篇)(深入理解计算机系统)

  • 进项税认证后转出
  • 海关进口增值税专用缴款书图片
  • 月收入10万以下免税哪些企业适用
  • 代收的水资源税收入是否计入企业所得税
  • 交强险怎么查
  • 货运代理开票系统如何开票
  • 什么是资产负债率
  • 补充医疗保险能自己交吗
  • 免税的农业企业可以抵扣专票吗
  • 单位食堂油烟管道清洗记录表
  • 买商铺返租金之套路
  • 交增值税入什么科目
  • 个人所得税必须得交吗
  • 营改增后出售以前年度的固定资产怎么申报?
  • 特殊建造行业
  • 石油天然气用途
  • 会计审核票据如何签字
  • 关于设备延期交付说明
  • 应收应付款有零头怎么处理
  • 未开票收入冲回如何做账
  • 工程公司更换单位怎么办
  • 各种linux
  • env文件夹是什么文件
  • 销售产品取得收入4500万元
  • 专用发票开具错误
  • 本部借给分公司的钱用交印花税吗
  • 划入账户金额
  • 高新技术企业研发费用占比要求
  • 资产现金流量收益率计算方法
  • 企业之间拆借资金
  • html的论文
  • 游戏运营服务是做什么的
  • php用在哪些方面
  • 语谱图生成
  • 3d representation
  • js数组分组并排序
  • go语言入门指南
  • PyTorch 深度学习实战 | 基于生成式对抗网络生成动漫人物
  • 水电费是收据能入账不
  • 现金流量表季度期初现金余额怎么填
  • 低值易耗品还需要录入明细吗
  • 商业承兑汇票贴现率
  • 各人所得税法规定
  • 月末研发支出会结转至哪个账户
  • 信用减值损失在贷方表示什么
  • 个体工商户生产经营所得税税率表2023
  • 以前年度损益调整
  • 交车辆保险的车是什么车
  • 加计抵减与加计抵消区别
  • 收到投资款如何做账务处理
  • 已认证抵扣的发票如何红字信息表
  • 应付账款一直挂在账上会有问题吗
  • 财政补贴的政策
  • 微信验证收到的信息在哪
  • 对公账户进出账常识
  • 水电费收据能证明什么??
  • 如何提取工会经费的钱
  • 施工方怎么开发票
  • 怎么结转本月期间损益
  • 食品企业生产成本管理的案例分析
  • 其他商业项目
  • sql数据库对象
  • sql 普通行列转换
  • SQLServer EVENTDATA()函数来获取DDL 触发器信息
  • centos7 lo
  • ubuntu 配置
  • win10系统怎么把ie浏览器放到桌面
  • win7系统360浏览器自动打开怎么关闭
  • kb2859537是什么文件
  • win7系统安装谷歌浏览器
  • msvc命令行
  • 利用python读取文件
  • unity自带的ui叫什么
  • angularjs4
  • android broadcast
  • javascript中的类型转换
  • 隐藏应用名字
  • python3.9怎么用
  • 专利证书印花税怎么计算
  • 房屋赠与给子女要交多少税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设