位置: 编程技术 - 正文

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

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

  • 金税盘软件打不开
  • 转让股份的印花税怎么交
  • 小微企业所得税优惠政策
  • 收到稳岗补贴怎么做会计分录小企业会计准则
  • 小微企业增值税减免政策
  • 车船税每年都要交吗标准多少
  • 酒水进项税税率
  • 转让固定资产发生的费用可以税前扣除吗
  • 商业企业销售化妆品
  • 装卸费和保险费是价外费用吗
  • 平销返利如何开红字发票
  • 河道工程维护管理费征收
  • 合同和付款单位不一致发票应该开给谁
  • 公司汽车车险抵税多少
  • 成品油消费税征税
  • 餐饮业一般纳税人企业所得税税率
  • 股权转让过程中需要注意哪些问题
  • 国税地税合并后叫什么名称
  • 没有发票的业务财务能挂帐吗
  • 小规模建筑工程
  • 纳税人购买税控设备抵扣问题
  • 汇算清缴所得税退回做账
  • win11最低硬件要求几代
  • 住房公积金如何使用
  • 资不抵债从资产负债表上怎么看出来
  • fsm32.exe是什么进程 有什么作用 fsm32进程查询
  • win11玩游戏鼠标卡顿
  • 没有购入发票可以开出发票
  • STP详解
  • php代码生成
  • 未确认融资费用报表填在哪个科目
  • vue项目中技巧知识点
  • linux执行php脚本
  • yum命令详解
  • 电子发票如何发邮箱给别人
  • ps灰色模式怎么换回来快捷键
  • 跨国公司海外子公司
  • 待报解预算收入是什么意思,扣了钱
  • 应税货物销售额含税吗
  • 制作费开票属于什么编码类型
  • 适用税率9%的征税行为有
  • 资产类会计科目记忆口诀
  • 基本户变更经营范围需要什么材料
  • 营改增后简易计税是多少税率
  • 其他应收款是负数怎么报税
  • 已开普通发票记账联丢失怎么办?
  • 固定资产大修理支出摊销年限
  • 工程咨询服务发展指导意见坚持市场培优的原则
  • 购税盘怎么做会计分录
  • 应收账款的会计要素
  • 房产契税新政策2023
  • 微信提现手续费1000扣多少
  • 未结转本年利润的股东分红的分录
  • 安装centos6.10
  • Mac OSX通过homebrew卸载formula的方法
  • iphone中的照片如何导入mac
  • 电脑系统不重装怎么恢复原状
  • ubuntu系统安装教程
  • gwsloader.exe是什么意思
  • windows10秋季更新
  • centos如何安装软件
  • win10 运行
  • linux ps-l
  • win8功能
  • linux命令grep -rl
  • windows10一分钟重启解决
  • 彻底理解样本方差为何除以n-1
  • opengl 实现
  • jquery简单例子
  • opencv是干嘛用的
  • Python实现mysql数据库更新表数据接口的功能
  • js message事件
  • dropdownlist绑定数据
  • androidcontext传值
  • 隐藏应用名字
  • jQuery使用animate实现ul列表项相互飘动效果示例
  • python按行写入txt
  • jquery插件免费下载
  • 下载重庆税务官方app
  • 广东电子税务局官网登录入口手机版
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设