位置: 编程技术 - 正文

JavaScript设计模式初探(js 设计模式)

编辑:rootadmin

推荐整理分享JavaScript设计模式初探(js 设计模式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js设计模式书,js设计模式应用,js 设计模式,js的设计模式,js设计模式有什么用,js设计模型,JAVASCRIPT设计模式与开发实践,javascript 设计,内容如对您有帮助,希望把文章链接给更多的朋友!

目的:设计模式众多,尝试记录下学到的不同设计模式的优劣,方便以后查阅。

前言:半年前看高程的时候看到设计模式这章,云里雾里,不是看不明白,而是不明白为啥要如此麻烦只为创建一个对象。直到最近完成了自己第一个小项目,才体会到当代码量多起来时没有适当的规范与限制是多么大的灾难。于是重新翻开高程,总结下几种我学到的简单设计模式的优劣。

正文:本文一共介绍7种设计模式以及他们的应用场景、优劣。

1.工厂模式

直接用函数来封装对象,将对象作为返回值。

缺点:对象识别的问题,所有创建出的对象都是Object的实例,不好区分。

2.构造函数模式

优点:运用构造函数模式可以将实例标示为一种特定的类型。

缺点:创建的对象的方法都是私有的,如果只是想产生公用的方法,会造成不必要的性能浪费。

3.原型模式

利用原型链继承

缺点:所有属性和方法被实例共享。当属性、方法中包含引用类型的值时,修改一个实例的属性、方法会影响所有其他实例。

JavaScript设计模式初探(js 设计模式)

4.原型+构造函数模式

私有属性、方法用构造函数产生,公有属性、方法用原型来继承。融合两种方法的优点。

缺点:注意引用类型值的原型继承。

ps:上图代码重写了Person构造函数的原型对象,将原型对象指针指向了一个对象,所以constructor属性此时指向Object而不是Person,所以要显式的将其设置成Person。

5.动态原型模式

本质上还是构造函数,只在指定方法不存在时在原型对象中添加他。

缺点:不能使用对象字面量重写原型对象。因为这会使实例的指针指向新的原型对象。也就是说上图中原型对象中添加的sayName方法会失效。

6.寄生构造函数模式

调用时使用new操作符,除此以外我看不出和工厂模式有什么区别。望高人指点。

7.稳妥构造函数模式

没有公共属性,禁用this,仅暴露必须的API用于数据调用。适用于对安全有需求的领域。

如上代码,只能通过sayName方法才能访问到内部的name属性。

本文给大家介绍了七种设计模式,分别介绍了他们的优缺点,希望对学习js设计模式相关知识有所帮助。

基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏 现在的浏览器越来越多,这就使得网页设计的兼容性要求越来越高,像常用的设为首页、加入收藏代码,一般的虽然简洁,但兼容性却非常不好,加入

基于JavaScript实现通用tab选项卡(通用性强) 选项卡在大量的网站都有应用,虽然形式各有不同,但是索要达成的目的都是一样的,一般都是为了进行分类或者节省网页空间只用,算是一件利器,

实例详解JSON数据格式及json格式数据域字符串相互转换 JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。易于人阅读和编写

标签: js 设计模式

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

上一篇:JavaScript类型系统之Object详解(javascript类定义)

下一篇:基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏(javascript教程代码)

  • 销售企业进货会计分录
  • 合理避税与偷税漏税的行为区别
  • 出口消费税税率
  • 公司注销单位社保欠费怎么处理
  • 金税盘电子发票怎么读入
  • 暂估的应付账款无法开具发票在金蝶云星空怎么操作
  • 税款滞纳金计入成本费用还是营业外
  • 无形资产净损失计入
  • 以前减记存货价值的影响因素是什么意思
  • 减免的所得税额怎么入账
  • 企业所得税表样
  • 合伙企业无偿获得股权怎么缴税?
  • 非居民企业所得税
  • 房屋租赁发票需要备注吗
  • 净利润含不含所得税
  • 银行手续费可以抵扣企业所得税吗
  • 对公账户验证款怎么记账
  • 库存商品的账面余额是什么意思
  • 未及时申报个税的理由
  • 资产类科目包括哪些内容
  • 购入增值税税控系统专用设备为什么全额计入固定资产
  • 企业购买汽车需要缴纳什么税
  • 如何调整账务
  • 财务会计中关于坏账损失的账务处理
  • 会计主管人员应该具备的基本条件
  • iphone中的照片如何找回
  • win10怎么打开移动中心
  • 企业研发费用的优惠政策
  • 清算期间会计分录
  • PHP:imagecolorresolve()的用法_GD库图像处理函数
  • 固定资产非正常损失
  • 成本会计工作流程表
  • 制造业企业预提短期借款利息
  • 工会经费和残保金怎么做账
  • 停车费过路费和汽油费可以一起报销吗
  • 子公司注销母子关系流程
  • 钢琴块小游戏在线玩
  • 成本费用损失的区别和联系
  • 博客管理系统开题报告
  • yolo算法百度百科
  • php如何入门
  • python中的包有哪些
  • 出售一台设备,收到价款20万
  • 残保金的计费依据
  • pycharm cant find main
  • sqlserver连接不到本地服务器
  • 成本会计的岗位要求
  • 应收账款计入营业收入
  • CentOS 7.3上SQL Server vNext CTP 1.2安装教程
  • 当月开的票必须开发票吗
  • 企业注销时实收资本怎么处理
  • 小规模纳税人所得税怎么计算
  • 待抵扣进项税额和待认证进项税额的区别
  • 税种分类及其税率
  • 单位缴纳的社保计入什么科目
  • 个人怎么缴纳五险一金
  • 小规模纳税人买车可以抵扣哪些税
  • Linux下mysql的root密码修改方法
  • 联想e430安装win10
  • ubuntu server怎么样
  • win7系统打不开浏览器
  • win10驱动备份在哪里
  • win8.1核心版密钥
  • 电脑中毒蓝屏了怎么办修复
  • Win7旗舰版电脑亮度怎么调节?
  • win7电脑屏幕设置常亮不黑屏
  • android开发环境配置
  • 创建nodejs项目的步骤
  • 阿里云云服务器ecs位于云端
  • 广告文章叫什么
  • shell脚本ping
  • jquery教程 csdn
  • JQuery之proxy实现绑定代理方法
  • 怎么用python做爬虫
  • jQuery插件封装时如要实现链式编程,需要
  • 音频资料下载
  • 契税5年什么意思?
  • 医保未参保怎么参保 支付宝
  • 如何在国税网查看社保人员信息
  • 车辆完税证明有啥用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设