如何给对象设置默认值

1.用 … 解构设置

在看compressor.js的时候,他用一个文件来存默认值,然后导出,最后用解构的方式,后面的值覆盖前面的方式设置默认值。当然也可以用Object.assign都是一样的

阅读更多

尤雨溪frontend Master课程笔记

1.响应式

目的

实现一个神奇的函数auto,会在state.count改变后,自动运行里面的函数

1
2
3
4
5
autoRun(() => {
document.getElementById("app").innerText = state.count;
})

state.count++; // 重新执行autoRun内的函数
阅读更多

MPA首屏加载速率优化实战

背景

​ 学校实验室的项目,因为学校只开放给我们一个端口,所以只能把后台管理和学生端合并成多页应用,我是做后台管理的,老师要求某个功能要加上代码高亮,在全局引入highlight.js后发现首屏加载速率不行了,记录一下发现更多问题并优化的过程。

阅读更多

适配器模式

适配器模式的作用是解决两个软件实体间的接口不兼容的问题。使用适配器模式之后,原本由于接口不兼容而不能工作的两个软件实体可以一起工作。 适配器的别名是包装器(wrapper),这是一个相对简单的模式

阅读更多

状态模式

允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类

状态模式的关键是区分事物内部的状态,事物内部状态的改变往往会带来事物的行为改变

阅读更多

装饰者模式

在传统的面向对象语言中,给对象添加功能常常使用继承的方式,但是继承的方式并不灵活, 还会带来许多问题:一方面会导致超类和子类之间存在强耦合性,当超类改变时,子类也会随之改变;另一方面,继承这种功能复用方式通常被称为“白箱复用”,“白箱”是相对可见性而言的, 在继承方式中,超类的内部细节是对子类可见的,继承常常被认为破坏了封装性。装饰者模式能够在不改变对象自身的基础上,在程序运行期间给对象动态地添加职责。跟继承相比,装饰者是一种更轻便灵活的做法,这是一种“即用即付”的方式

阅读更多

中介者模式

中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互。中介者模式使网状的多对多关系变成了相对简单的一对多关系

阅读更多

职责链模式

职责链模式的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

职责链模式的名字非常形象,一系列可能会处理请求的对象被连接成一条链,请求在这些对 象之间依次传递,直到遇到一个可以处理它的对象,我们把这些对象称为链中的节点

阅读更多