位置: 编程技术 - 正文

极简主义法编写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屏蔽元素)

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

  • 个税汇缴常见问题
  • 公司组织出国旅游费用
  • 弃置费用的财务费用可以税前扣除吗
  • 变更法人代表要查征信吗
  • 企业所得税预缴后亏损
  • 小规模纳税人免税怎么做账
  • 车船税在备注栏怎么报表
  • 利润率多少才是正常的
  • 进项税额转出怎么算
  • 银联交易手续费
  • 公司购买服装
  • 国外客户手续费差异账务处理如何做?
  • 增值税发票抵扣进项税什么意思
  • 公司欠增值税如何补交?
  • 企业长期股权投资中发生的相关费用处理方法正确的有
  • 来料加工企业的会计处理问题
  • 购买的认证标志入什么费用?
  • 工资薪金总额是指月还是全年
  • 发票验旧后可领新发票吗
  • 代收代缴消费税要交城建税吗?
  • 分公司的发票可以由总公司开吗
  • 已知不含税金额和增值税如何计算税率
  • 个人技术投资入什么科目
  • 年底买车险会便宜吗
  • 虚拟股权分红怎么做账
  • 城市生活垃圾处理方法
  • win10 net framework 3.5 离线
  • 机械设备购置的程序是什么
  • 华硕win10笔记本如何恢复出厂设置
  • win10怎么显示隐藏的硬盘
  • linux鼠标左键失灵
  • 发票开出后只收到部分款怎么处理?
  • 业务招待费应计入期间费用的哪项费用
  • 采用账龄分析法计提坏账准备
  • 先出库还是先发货
  • vue的watch不生效
  • 美国大峡谷在哪儿
  • 冲账怎么写?
  • 开发费用怎么入账
  • js面试必问
  • php判断文件是否存在的函数
  • 红包生成算法
  • java rest接口
  • 红字记账是什么意思
  • 会计核算中并不是所有的总分类帐户都需要开设明细账户
  • sql server异常怎么处理
  • mongodb数据库教程
  • 其他应收款专项审计报告
  • 小企业一年需要缴纳多少税
  • 收到货款没开票的会计分录怎么做
  • sql2000日志清理
  • 生产企业出口退税全部流程
  • 利润与利润率之差公式
  • 一般纳税人交增值税的账务处理
  • 租房合同 陷阱
  • 留抵进项税额怎么做分录
  • 来料加工成本是多少
  • 开办幼儿园的流程图
  • 消防公司会计分录
  • 不属于投资性房地产项目有自用房地产作为存货的
  • 规范专户资金使用
  • 一般纳税人月底进项税销项税怎么做分录
  • 预收账款借方和贷方表示什么
  • 行政单位如何做好机构编制工作
  • 生产成本和主营业务成本金额一样吗
  • 新安装的Ubuntu系统无法联网
  • Linux环境下MySQL服务器优化的方法详解
  • win8 桌面图标
  • 微软系统如何恢复出厂设置
  • 如何把win7系统复制到u盘里
  • cocos开发android游戏
  • 如何做批处理命令
  • 风格的多样性举例说明
  • 批处理文件的拷贝怎么写
  • nodejs为什么性能这么好
  • unity3d官方教程
  • jquery mobile demo
  • void方法设置断言
  • 使用jquery实现的项目
  • 现行增值税税率表2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设