位置: 编程技术 - 正文

深入理解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):对象创建模式(上篇)(深入理解计算机系统)

  • 哪些情况下可以无偿提供法律援助
  • 公户结算卡最多可以拿多少现金
  • 小规模纳税人生活服务业免征增值税
  • 合并后少数股东权益的处理
  • 小规模纳税人税额怎么做分录
  • 租的厂房水电费开不了发票怎么办
  • 残疾人就业保障金
  • 怎样确定是否计入固定资产清理科目
  • 税务开专票遇到四舍五入
  • 销项发票遗失怎么办
  • 药店税票税点
  • 金税三期有什么功能
  • 学校有税号可以收专票吗
  • 纳税人如何办理纳税申报
  • 存货的损失计入什么科目
  • 应收账款确认无法收回
  • 财务费用属于什么会计科目类别
  • 停车费可以抵扣吗合法吗
  • 上个月开票这个月确认收入
  • 金税盘红字信息表金额大于原蓝票
  • 控股子公司是
  • win10设置里没有飞行模式
  • 远程怎么控制电脑
  • 前任会计很多错账
  • 财务费用冲销怎样做分录
  • php输出一维数组
  • saimon.exe - saimon进程有什么用 有何作用
  • win11安装程序提示非管理员账号
  • php read
  • 增值税专用发票几个点
  • 跟银行借入长期存款
  • php堆和栈
  • 合并资产负债表模板
  • php 通信
  • opencv实战项目教程
  • mvc框架工作流程
  • 利润的调增和调减
  • 报销差旅费属于什么现金流量项目
  • 公司银行账号注销需要什么资料
  • python如何在一个文件中运行另一个文件
  • linux db2安装与配置
  • 饭店招牌发光字
  • 财政收回用款额度
  • 购买性支出和转移性支出都计入GDP
  • 哈罗单车说明
  • 收到银行手续费发票怎么入账
  • 未分配利润科目余额在借方还是贷方
  • 收到招聘费发票怎么做账
  • 农民农作物补偿标准文件
  • 资产减值损失属于费用类吗
  • 城镇土地税需要计税吗
  • 资产负债表固定资产怎么填
  • sql server索引的使用
  • windows8.1大小
  • freebsd9.3安装教程
  • warning bios upgrade
  • win10预览版21301bug
  • Ubuntu keylin 14.04 怎么使用root用户登录?
  • OS X 10.12.6 beta 1如何更新 OS X 10.12.6 beta 1如何升级
  • eudcedit.exe
  • Win7系统打开蓝牙
  • win批处理命令
  • 打开本地搜索
  • linux CentOS/redhat 6.5 LVM分区使用详解
  • centos分区命令
  • win7系统连接蓝牙音箱
  • win7 ping一般故障
  • recyclerview addview
  • 怎么用javascript
  • python爬虫入门教程
  • Unity3D面试题整合
  • jquery验证邮箱格式
  • 深入理解新发展理念
  • 深圳买新房契税怎么收
  • 湖北省纳税大户
  • 有限责任公司自然人独资属于什么企业
  • 国家电子税务总局重庆电子税务局
  • 税收分类分级管理后如何开展风险管理
  • 如何在河南省社会保障网上平台进行社保基数申报
  • 税控机怎么开发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设