位置: 编程技术 - 正文

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

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

  • 民办非企业收到捐赠固定资产
  • 员工工伤住院伙食补助标准是多少
  • 增量留抵税额怎么做分录
  • 银行存款支付运费会计科目
  • 转让不动产取得的收入
  • 商品的入账价值包括消费税吗
  • 当前企业不存在是怎么回事
  • 支付费用可以通过应收账款
  • 企业所得税前扣除是什么意思
  • 预期收益率计算器
  • 企业所得税逾期申报怎么补报
  • 红字通知单撤销后系统还能查到吗
  • 印花税,车船税通过应交税金科目吗
  • 公司开出增值税发票可以作为货款证据起诉
  • 生产过程中产生的废料怎么管理
  • 发票抬头写错了还能报销吗
  • 完税证明可以作为发票吗
  • 代缴社保工资怎么做账
  • 物流公司运费的会计分录
  • 所得税申报表本期金额上期金额指什么
  • 企业研发人员数量在哪里查
  • 资本弱化管理规定最新
  • 代销返点如何进行会计处理?
  • 金银镶嵌首饰在哪个环节交消费税
  • 以公司名义购买房产的利与弊
  • 委外加工费用会计分录
  • 浏览器显示英语怎么设置成中文
  • 交易性金融资产是什么意思
  • bho是什么文件夹
  • 复现开源论文代码总结
  • 管理费用属于损益类吗
  • 库存现金总分类账怎么登记
  • 快速查找附近的人
  • 公司法人往公司账户转钱会计分录
  • php使用什么开发工具
  • mysqldump语句
  • 已勾选确认的发票忘记填写怎么办
  • 开具劳务发票需要提供什么资料?
  • 折扣返利的账务处理
  • 织梦怎么套模板
  • 四舍五入产生的原理
  • 弃置费用的摊余成本
  • 代垫费用开什么发票
  • 开具发票后什么情况下可以零申报?
  • 营业税金及附加包括哪些
  • 申请国家知识产权的条件
  • 成本核算的意义在于
  • 企业开发有多个产品
  • 登记会计账簿的注意事项
  • 为什么要计提工资附加费
  • 流动比率多少合理
  • 建账的基本步骤
  • 非营利医疗机构有哪些
  • 怎样把有余额的钱取出来
  • 简单介绍春节的风俗
  • mysql性能极限
  • Linux下mysql 5.6.17安装图文教程详细版
  • fedora os
  • win7系统删除文件夹怎么恢复
  • win8系统怎么样
  • linux扩大文件系统
  • Win10 Mobile RS1预览版14267.1004 修复Lumia 550充电问题
  • Unity3d OnApplicationPause与OnApplicationFocus 判断游戏暂停还是重新启动
  • vue源码是用什么写的
  • javascript例题
  • python自动发邮件内容
  • Android5.1 SystemUI 启动流程
  • js折叠展开特效
  • unity游戏开发软件
  • javascript有几种类型
  • jquery 判断是否显示
  • 动态表单的设计与实现
  • 英语流利说的简单介绍
  • 怎样把短信转发到微信
  • 广州电子税务局财务报表在哪里查询
  • 长沙市社保中心主任
  • 酒店,旅店的营业范围
  • A级纳税人和一般纳税人区别
  • 非居民企业所得税税率
  • 联通前面加什么可以隐藏号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设