位置: 编程技术 - 正文

极简主义法编写JavaScript类(极简主义分析)

编辑:rootadmin

推荐整理分享极简主义法编写JavaScript类(极简主义分析),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:极简主义写作,极简主义分析,极简主义法则,极简主义著作,极简主义的概述,极简主义的概述,极简主义的概述,极简主义的概述,内容如对您有帮助,希望把文章链接给更多的朋友!

这个所谓的"极简主义法"是荷兰程序员Gabor de Mooij提出来的,这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因。下面就介绍如何使用极简主义法完成JavaScript的封装和继承

1. 封装

  首先,它也是用一个对象模拟"类"。在这个类里面,定义一个构造函数createNew(),用来生成实例。

  然后,在createNew()里面,定义一个实例对象,把这个实例对象作为返回值。

  使用的时候,调用createNew()方法,就可以得到实例对象。

  这种方法的好处是,容易理解,结构清晰优雅,符合传统的"面向对象编程"的构造,因此可以方便地部署下面的特性。

2. 继承

  让一个类继承另一个类,实现起来很方便。只要在前者的createNew()方法中,调用后者的createNew()方法即可。  先定义一个Animal类:

  然后,在Cat的createNew()方法中,调用Animal的createNew()方法

极简主义法编写JavaScript类(极简主义分析)

  这样得到的Cat实例,就会继承Animal类。

3. 私有属性和私有方法

  在createNew()方法中,只要不是定义在cat对象上的方法和属性,都是私有的。

  上例的内部变量sound,外部无法读取,只有通过cat的公有方法makeSound()来读取。

4. 数据共享

  有时候,我们需要所有实例对象,能够读写同一项内部数据。这个时候,只要把这个内部数据,封装在类对象的里面、createNew()方法的外面即可。

  然后,生成两个实例对象:

这时,如果有一个实例对象,修改了共享的数据,另一个实例对象也会受到影响。

  极简主义,看起来很美好,但是也有缺点,首先是不能使用instanceof 判断对象所属的类,"cat1 instanceof Cat"无法通过,另外,极简主义虽然摆脱了使用原型链的缺点(属性不能私有、创建、继承对象不够直观),但也暴露了没用原型链的弊端:每一次生成一个实例,都必须为重复的内容,多占用一些内存。

总结

以上所述是小编给大家介绍的极简主义法编写JavaScript类,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

微信小程序实现图片放大预览功能 需求:当点击图片时,当前图片放大预览,且可以左右滑动实现方式:使用微信小程序图片预览接口我们可以看到api需要两个参数,分别通过下面的data-

微信小程序选择图片和放大预览图片功能 视频中,老师也是看着官方文档,为学生们讲解,微信提供了系统的方法来选择图片.wx.chooseImage({})此方法是用来选择图片的方法,具体使用如下:data:{avatarUrl:n

微信小程序自动客服功能 微信小程序最近比较火爆,所以抽空做了个客服机器人的小程序,来回答之前坦克游戏中的常见问题。当然这个小程序也很容易修改为其他类型的自动

标签: 极简主义分析

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

上一篇:JavaScript屏蔽Backspace键的实现代码(javascript屏蔽元素)

下一篇:微信小程序实现图片放大预览功能(微信小程序实现微信支付)

  • 研发销售型企业
  • 计提工资年底余额所得税处理
  • 季节性临时工是不是可以不上社保
  • 税盘减免主表不显示减免怎么填
  • 怎么识别发票是否含税
  • 农民工工资专户管理暂行办法
  • 可供出售金融资产是指什么
  • 普通发票辨别真伪
  • 进项票退回已抵扣税额
  • 不同的银行存款会收手续费吗
  • 软件分几次开票怎么入账
  • 公司预存话费应该怎么做会计处理?
  • 百望税控盘电子发票
  • 外出经营活动税收管理证明和跨区域涉税事项报告表
  • 一般纳税人和小微企业的区别
  • 销售利润率的计算公式,安全边际率
  • 公司解散实收资本退还怎么写
  • 抵押贷款逾期怎么处理抵押物
  • 购买公司付款会计分录
  • 委托加工物资成本计入
  • win7防火墙设置不了
  • 调整以前年度所得税汇算清缴报表,在哪调减虚增的成本
  • 股票属于以下哪一类金融工具
  • Win10无法访问局域网计算机
  • 固定资产当月出售还要计提折旧吗
  • vue3 计算属性
  • php加载mysql
  • 实收资本账户对应的账户包括
  • 增值税上期留抵税额
  • 多表联动查询
  • 谷歌浏览器跨域解决方案
  • tracetcp命令
  • php时间代码
  • iperf3命令和iperf2
  • 结转成本费用的会计分录是什么?
  • 外贸出口退税操作流程
  • 租金收入的所得税率
  • 销售物流
  • 简易征收适用哪些业务租赁
  • 进口货物如何支付外汇
  • 小规模减免附加税会计分录怎么做
  • 嵌入式软件产品应纳税额
  • 固定资产清理增值税计税依据
  • 跨年收入如何做账
  • 代开专票作废退税怎么做账?
  • 农业免税企业开票有限额吗
  • 产品成本计算的分批法适用于
  • 公司与股东的往来款
  • 明细账的建账
  • 建立新公司需要做什么
  • 企业如何建账做账
  • MySQL PXC构建一个新节点只需IST传输的方法(推荐)
  • 联想随笔
  • win8应用程序无法正常启动
  • potplayer win7
  • linux系统要求配置
  • vi编辑器使用教程
  • 检测电脑屏幕
  • Mac怎么去掉开机密码
  • 查看win8.1版本
  • mtask.exe - mtask是什么进程 有什么用
  • ksysslim.exe是什么
  • koeidsnd.dll
  • popupblocker是什么
  • win10 64位系统提示0x80070643错误代码的解决方法
  • win7文件和打印机共享
  • 在linux系统中,用来存在系统所需
  • node.js使用教程
  • 从零基础到入门
  • msg命令用法
  • perl的chomp
  • 谈谈jQuery Ajax用法详解
  • jquery模拟表单提交
  • 安装下载应用
  • Javascript Math ceil()、floor()、round()三个函数的区别
  • jquery有自定义选择器吗
  • ajax获取数据两种类型
  • 什么东西的海关不能寄
  • 宝鸡二套房契税多少
  • 河北耕地占用税最新规定
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设