摘要: 定义 订阅-发布模式定义了对象之间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都可以得到通知。 与观察者模式的区别 订阅-发布模式与观察者模式概念相似,但在订阅-发布模式中,订阅者与发布者之间多了一层中间件:一个被抽象出来的信息调度中心。 特点 松耦合:订阅者可以订阅多个类型 阅读全文
posted @ 2021-06-22 13:50 wenwen。 阅读(183) 评论(0) 推荐(0)
摘要: 定义 将一个复杂对象的构建与它的实例分离,使得同样的构建过程可以创建不同的实例。 建造者模式实现 比如你打算装修一个房子,首先你会找到开发商提出你的需求 /** * @information: 业主 */ class Owner { constructor (need){ this.need = n 阅读全文
posted @ 2021-06-22 09:32 wenwen。 阅读(131) 评论(0) 推荐(0)
摘要: 定义 单例就是保证一个类只有一个实例。 实现方法是,先判断实例是否存在,如果存在则直接返回,如果不存在,则创建实例对象,并将实例对象保存在静态变量中,当下次请求时,则可以直接返回这个实例对象,确保了一个类只有一个实例对象。 应用:弹窗,登录,node模块,webpack模块等。 模板 class A 阅读全文
posted @ 2021-06-21 16:57 wenwen。 阅读(219) 评论(0) 推荐(0)
摘要: 定义 工厂模式定义创建对象的接口,但是让子类决定实例化哪个类。根据不同的输入返回不同类的实例,一般用来创建同一类对象。工厂方式的主要思想是将对象的创建与对象的实现分离,将类的实例化延迟到子类。 概述 我们可以用Object构造函数来创建单个对象。但是,使用同一接口创建很多对象时,会产生大量重复的代码 阅读全文
posted @ 2021-06-21 14:34 wenwen。 阅读(545) 评论(0) 推荐(0)
摘要: 单一原则single responsibitity 定义:每个模块只专注自己的功能,一个类应该只负责一项职责。 简单的说就是让一个模块所负责的功能尽量少。如果发现一个模块功能过多,应该拆分为多个模块,让一个模块专注于一个功能的实现,更有利于代码的维护。 体现:微服务,把不同的程序逻辑装到不同的服务中 阅读全文
posted @ 2021-06-21 09:39 wenwen。 阅读(165) 评论(0) 推荐(0)
摘要: 每个构造函数都有一个原型对象prototype,这个对象中有一个构造器constructor指向了这个构造函数 每个通过构造函数实例化出来的实例对象中都有一个属性__proto__,这个属性指向一个原型对象,这个对象和上面的原型对象prototype是同一个,如下图: 原型 学习原型之前一般都是用如 阅读全文
posted @ 2021-05-28 14:35 wenwen。 阅读(150) 评论(0) 推荐(0)
摘要: 此方法接受任意的字符串,并当作JavaScript代码来处理。 如果代码是在运行时动态生成,有一个更好的方式不使用eval而达到同样的目标。 例如,用方括号表示法来访问动态属性会更好更简单: // 反面示例 var property = "name"; alert(eval("obj." + pro 阅读全文
posted @ 2021-05-27 14:41 wenwen。 阅读(670) 评论(0) 推荐(0)
摘要: 1.call() 语法:obj1.call(obj2[,param1,param2,...])定义:用obj2对象来代替obj1,调用obj1的方法。即将obj1应用到obj2上。说明:call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 o 阅读全文
posted @ 2021-05-26 11:27 wenwen。 阅读(215) 评论(0) 推荐(0)
摘要: reduce语法 array.reduce(function(total, currentValue, currentIndex, arr), initialValue); 参数描述 function(total,currentValue, index,arr) total 必需。初始值, 或者计算 阅读全文
posted @ 2021-05-19 11:27 wenwen。 阅读(269) 评论(0) 推荐(0)