位置: 编程技术 - 正文

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

  • 租赁合同印花税计税依据
  • 关税的征收对象是贸易性商品,不包括
  • 本年利润和利润分配未分配利润的区别
  • 股权转让给个人和公司的区别
  • 餐饮业税务申报
  • 报销销售部门差旅费
  • 未实际收到的投资收益要纳税调整吗
  • 未开票收入下月开票怎么报税
  • 税率开错情况说明
  • 当月收到的发票可以当月认证吗
  • 地下车位未使用 要交物业服务费
  • 哪些产品计算消费税时可以扣除
  • 房租租金收入都缴纳什么税金
  • 收取职工个人部分养老金怎么做分录
  • 养殖业土地使用税减免
  • 购买财务软件账务处理规定
  • 投资款多投了怎么办
  • 滴滴 增值税
  • 税控发票系统
  • 吊装费用税率
  • 替票和代票的区别是什么
  • 享受小微企业所得税优惠条件2022
  • 普通机打发票可以抵税吗
  • 利息资本化的时点
  • 各部门领料情况,a产品耗用甲材料3200元
  • Thinkphp5+PHPExcel实现批量上传表格数据功能
  • 现金日记账漏记一笔怎么办
  • linux漏洞复现
  • PHP:oci_field_type_raw()的用法_Oracle函数
  • php多进程开发
  • 非货币性资产投资的会计处理
  • 二手车交易如何开票
  • 短期借款利息的核算不可能涉及的账户是
  • php写文件函数
  • 复现开源论文代码总结
  • php自动载入自定义函数文件
  • 工伤死亡 赔偿
  • linux调试工具有哪些
  • git t
  • 出口退税转内销的话如何算发票金额
  • 其他应收款如何计提减值准备
  • 车辆保险费怎么入账
  • 支付宝支付高速公路发票怎么打印
  • sql server触发器实例
  • 完全卸载mysql8.0
  • mysql同步复制搭建方法指南详细步骤
  • 劳务派遣人员的档案会保存在用人单位吗
  • 多交税款退税款会计分录
  • 加班打车费用计入什么科目
  • 公司新装宽带怎么安装
  • 出售未到折旧年金怎么算
  • 出资注意事项有哪些内容
  • 实收资本可以做现金吗
  • 如何理解什么是半殖民地半封建社会
  • 计提社保如何做分录
  • 一般纳税人月销售额10万以下
  • 生活垃圾处理费标准
  • 纳税申报准备什么材料
  • 记帐凭证的填制方法
  • 暂估固定资产的账务处理
  • MySQL 5.7 mysql command line client 使用命令详解
  • mysql怎么把列变成行
  • win8.1系统升级win10
  • vmware虚拟机不能用桥接模式
  • win7任务管理器快捷键ctrl+alt+
  • linux cat 命令
  • 检测你的vps是不是真的
  • win7系统安装谷歌浏览器
  • linux网络设备有哪些
  • win7系统安装程序正在启动一直转圈圈
  • 我的第二个姐姐用英语怎么说
  • 举例说明如何为教学搭建支架
  • 学习雷锋好榜样
  • Node.js中的construct构造函数
  • 浅析科学发展观的核心立场
  • python同一层次的语言必须对齐吗
  • python中lxml模块
  • python twilio
  • 企业所得税年度申报表A类
  • 国税和地税的税种有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设