位置: 编程技术 - 正文

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

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

  • 申请A级纳税企业需具备哪些条件
  • 材料暂估可以跨年度吗
  • 货款不入公司账户属什么行为
  • 小规模做账流程详细
  • 工程材料票抵扣比例
  • 一般纳税人印花税是季报还是月报
  • 其他应收款科目未经财务会计部门和运行管理部门
  • 减资账务处理基准日 会计视野
  • 权益法核算投资收益
  • 工商企业年金查询个人账户查询
  • 盈余公积补亏账务处理分录
  • 固定资产清理增加记哪一方
  • 房地产形象海报
  • 字节跳动属于什么类型的企业
  • 公司车辆计提是含税还是不含税?
  • 已认证未抵扣发票冲红流程
  • 国税代开普通发票现需作废需要哪些资料?
  • 未在规定期限内发出追索通知
  • 税务大厅申报社保需要资料
  • 坏账准备年末结账要结清吗
  • 纳税人拒绝代扣代缴,扣缴义务人应当
  • 企业收到政府补贴100000元业务题
  • 床垫专票可以抵扣吗
  • 佣金的规定方法有哪些
  • macos15关闭sip
  • 净资产收益率摊薄
  • dhcp存在哪些安全隐患
  • 洗牙的利和弊
  • register.exe - register进程有什么用.是什么意思
  • 主营业务收入发生额在哪方
  • 发票认证了,但是没有入账
  • 认缴出资没到位违法吗
  • php数组函数输出《咏雪》里有多少"片"字
  • 不良资产核销的条件 追偿180天
  • 运费抵扣怎么算
  • 哈雷6号
  • ant design pro项目构建纯净版
  • 红字专用发票开具的规定
  • ecshop有哪些bug
  • 付出对价的公允
  • c++好学
  • thinkphp i方法
  • 建行e信通怎么提现怎么操作
  • vue vscode snippets
  • 大学生web前端期刊有哪些
  • ijk解码是什么意思
  • 吸收合并的目的是什么
  • 2020信息采集
  • 电子税务局税种核定在哪里
  • asp连接sqlserver数据库的三种方式是什么?
  • mysql线程数配置
  • 高铁票进项抵扣计算错了 怎么办理
  • sql server2012使用方法
  • 出口退税的会计科目
  • 年末转出未交增值税借方余额怎么处理
  • 怎样理解
  • 车辆转让怎么开票
  • mysql 压测
  • sql server 2000中的安全性包含
  • Solaris 10.0 cvs的安装方法
  • win10mobile升级顾问
  • ubuntu 上不了网
  • iis安装失败找不到源文件
  • linux ftp搭建教程
  • perfom.exe
  • window10邮件
  • win7系统注册表损坏无法启动怎么修复
  • linux如何限制指定ip访问
  • javascript访问用户cookie
  • 常用的批处理文件
  • Unity3D游戏开发pdf
  • mysql 导出指定表
  • unity shooter
  • js知识总结
  • js实现fizzbuzz
  • 福建省纪检委网站
  • 税控盘离线开票金额为零怎么办
  • 交警认可的客货两用车型
  • t+怎么取消记账凭证
  • 成都车辆购置税2024年新政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设