JavaScript的设计模式

一.单例模式
1.概念:单独只生成一个实例化对象
2.解决痛点:同一个构造函数,生成同一个实例化对象,防止重复实例化对象
3.原理:判断这个构造函数是否使用过,如果没有使用过就执行构造函数,生成实例化对象,如果使用过,返回之前的对象
4.核心代码:执行单例模式,为了不产生全局变量污染,使用闭包将变量和构造函数,都定义在函数中,作为局部作用域保护起来
在这里插入图片描述
二.组合模式
1.概念:通过一个“遥控器”控制所有入口函数的执行
2基本思路:将所有需要执行的入口函数,写入到数组中,通过循环遍历,来执行数组中的所有入口函数
在这里插入图片描述
三.观察者模式(发布—订阅模式,消息模式)
1.概念:主体对象转态改变,所有依赖主体的相关个体发生调整
一般要与框架和双向数据绑定结合使用
2.部分操作:
观察者模式分为5个部分
1,主体对象
2,主体属性–消息盒子,存储执行类型和执行内容
可以是对象,也可以是数组
3,on方法,向消息盒子中,写入需要执行的类型和内容
步骤:
3-1:判断消息盒子中,是否有这个类型
有这个类型:使用push()方法,向类型中存储的数组,新增单元
没有这个类型:向消息盒子中,新增类型,并且存储一个数组
4,off方法:删除稍息盒子中,写入的执行内容
步骤
4-1:判断消息盒子中,是否有这个类型
有这个类型:删除类型中,符合参数的内容
为了防止数组坍塌,要添加i–
没有这个类型:直接执行return
5,emit方法:发布消息盒子中的类型和内容
参数1 是 类型
参数2 …arr 合并运算符
将第一个参数之后的所有实参,以数组的形式存储

3.基本代码
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值