位置: 编程技术 - 正文

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

  • 房地产预缴增值税计算方式
  • 撤销增值税申报流程
  • 农产品税率9%还是免税
  • 销售佣金计入什么会计科目
  • 银行存款对银行的作用
  • 固定资产盘亏计入什么科目
  • 预收账款借方和贷方表示什么
  • 普通发票作废要交税吗
  • 固定资产加速折旧的方法有哪些
  • 营业外收入在所得税表中填入哪个科目
  • 银行基本户可以变更成一般户吗
  • 股利支付率怎么找数据
  • 员工成本是员工薪资的多少倍
  • 收到的出口退税款一直有余额吗
  • 低价销售代替非正常损失避免转出进项税?
  • 电子发票没有发票号码是怎么回事
  • 营业外收入属于什么会计要素
  • 母公司对子公司的控股比例
  • 费用摊销的常用方法有哪些
  • 广告费和业务宣传费
  • “linux系统”
  • 苹果系统权限管理在哪找
  • 电脑桌面换壁纸的软件
  • Window7+CentOS 6.5双系统安装图文方法
  • 合作社实际没有法人代表
  • 收到银行退回余款
  • 亏损销售怎么结转库存成本怎么计算
  • 马尔堡酒庄
  • 建筑业2021年享受核定征收吗
  • php获取数据库中的数据,输出到div中
  • face_recognition库采用了什么算法
  • vuenode前后端交互的方式
  • vue从入门到精通教程
  • php魔术方法autoload
  • 支付银行手续费等直接收费金融服务
  • 详细步骤怎么写
  • 个体生产经营所得优惠政策
  • 可行性研究报告合同属于什么合同
  • 个体工商户开普通发票需要交税吗
  • 公司名下商品房过户给公司需要交过户费
  • mysql如何判断日期是周末
  • 企业所得税汇算清缴表
  • sqlalchemy mongodb
  • 营业税金及附加计入什么科目
  • 外购商品用于宣传需要缴纳增值税吗
  • 企业购买了数千亿资产
  • 退休返聘人员工伤怎么赔偿
  • 残保金申报可以随便填吗
  • 奖励促销策略
  • 支付残疾人保证金的现金流
  • 个人账户打流水需要本人吗
  • 网上认证平台进不去怎么办
  • 残保金怎么办理
  • 新公司建立 需要先做哪行
  • 转账凭证的编制流程
  • 行政单位经费支出审批权限
  • mysql中的groupby
  • SQL Server 作业同步 (结合备份作业)
  • linux那些事儿
  • incomp.file ver什么意思
  • apache版本查看命令
  • linux小技巧
  • linux收发邮件
  • linux getuid
  • 日历插件vue
  • shell脚本 if -e
  • bat调用vbs脚本
  • vue router 传参
  • 深入理解中国式现代化
  • 跟我从零基础学到了什么
  • jq 鼠标事件
  • python异常处理的关键词
  • JavaScript中iframe实现局部刷新的几种方法汇总
  • 税控盘税务数字书驱动找不到应用程序是咋回事
  • 土地增值税鉴证业务的流程
  • 大连税务局王局长
  • 税务税收预测
  • 重庆市怎么在网上打印章程
  • 地税的发票是什么样
  • 国税稽查局查账单凭个人流水能不能当做证据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设