自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 js设计模式-装饰器模式

装饰器模式 在不改变其原有的结构和功能为对象添加新功能,装饰比继承更加灵活。 就像你有一把狙击枪它需要消音的功能,我们就可以装上一个消音器。要一个四倍镜就可以 装上四倍镜,然后是握把,枪架等等。可以把消音器、四倍镜、握把、枪架…相当于装饰器概念。 // 狙击枪 class SniperRifle { // 枪配置 configuration() { return `狙击枪体` } // 枪的综合战力 fightingCapacity() {

2021-03-05 15:46:40 148 1

原创 js设计模式-单例模式

js设计模式-单例模式 什么是单例模式?简单的来说就是这个类的实例就只有一个,在简单点说的话:    假设 有一个类叫 CreateClass 当每次使用new操作符 去new它(CreateClass)时得到实例都是同一个实例; function Single (name){ this.name = name; }; Single.prototype.getName = function(){ console.log(this.name) }; Single.getI

2021-03-01 19:41:52 188 2

原创 js设计模式-工厂模式

js设模式-工厂模式 1.简单工厂模式 假设我要批量生产车。 第一我们会想直接创建一个构造函数,然后重复new来批量生产。 class CreateCar{ constructor(brand){ this.brand = brand }, run(){ console.log('跑'); } } let car = new CreateCar('宝马'); 这样我就可以批量生产车了,但是如果我想生产一部其他功能的车怎么办 CreateCar这个函数就无法生产了 这是我就可以开个工厂用

2021-02-25 23:45:42 174

原创 高阶函数应用 —— 柯里化与反柯里化

高阶函数 高阶函数叫法:切片编程 AOP 高阶函数满足条件:    1.一个函数的参数是函数。    2.一个函数的返回值是一个函数。 只要满足以上两点的其中一点就属于高阶函数。它可以满足我们在一个函数原有的逻辑上增加一些功能。 /* 需求是想在调用say之前做一些逻辑 */ let say = (....

2020-03-19 23:12:19 128

原创 观察者模式

观察者模式有两个主要的特点 1、观察者通过继承基类将自己注册到目标对象上(被观察者) 2、目标对象(被观察者)提供了维护观察者的一系列方法(增、删、遍历执行) // 观察者模式 // 观察者 class Observer{ constructor(name){ this.name = name; }; // 被观察状态改变执行函...

2020-03-13 16:31:37 190

原创 发布-订阅模式

发布订阅模式 发布-订阅模式 可以说是学前端常见的设计模式了。 首先来个简单的发布-订阅模式 // 发布-订阅模式1.0 let e = { _callbacks: [], // 订阅 on(callback){ // 添加到订阅列表 this._callbacks.push(callback) }, ...

2020-03-13 15:22:59 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除