设计模式笔记整理

2019-05-13
阅读 1 分钟
1.4k
模式 定义 连接 策略模式 定义了算法簇,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户 [链接] 订阅模式(观察者模式) 定义对象之间的一对多的依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。 [链接] 装饰者模式 动态地将责任附加到对象上,若要扩展...

设计模式——模板模式

2019-05-13
阅读 2 分钟
1.3k
更具体地说,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现。这可以确保算法结构保持不变,同事由子类提供部分实现。

设计模式——适配器与外观模式

2019-05-10
阅读 2 分钟
1.3k
《Head First设计模式》笔记整理...欢迎交流... 使用场景 假设已有一个软件系统,你希望它能和一个新的厂商的类库搭配使用,但是这个心厂商设计出来的接口,不同于旧厂商的接口。 解决这个问题,我们就可以使用适配器 定义 {代码...} 类图 外观模式定义 {代码...} 这里注意一下外观模式与适配器模式的区别:外观模式定义...

设计模式——命令模式

2019-05-09
阅读 1 分钟
1.2k
《Head First设计模式》笔记整理...欢迎交流... 定义 {代码...} ![图片上传中...] 类图 代码演示 {代码...} 测试 {代码...}

设计模式——单件模式

2019-05-08
阅读 1 分钟
1.2k
有一些对象我们只需要一个,比如说线程池(threadpool)、缓存(cache)、对话框...事实上,这个类对象只能有一个实例,如果创造出多个实例,就会导致许多问题产生,例如行为异常、资源使用过量,或者结果不一致。

设计模式——工厂方法模式

2019-05-05
阅读 4 分钟
1.6k
《Head First设计模式》笔记整理...欢迎交流... 定义 {代码...} OO原则 封装变化 多用组合少用继承 针对接口变成,不针对实现编程 为交互对象之间的松耦合设计而努力 类应该对扩展开放,对修改关闭 要依赖抽象,不要依赖具体类 类图 正如在正式定义中所说的,常常听到其他开发人员说,工厂方法让子类决定要实例化的类是...

设计模式——装饰者模式

2019-04-28
阅读 2 分钟
1.5k
定义 {代码...} OO原则 封装变化 多用组合少用继承 针对接口编程,不针对实现编程 为了交互对象之间的松耦合而努力 类应该对扩展开放,对修改关闭 开闭原则 我们的目标是使类容易扩展,在不改变现有代码的情况下,就可以搭配新的行为 认识装饰者模式 以星巴此咖啡为例。比如,客户想要摩卡和奶泡深赔咖啡。那么,要做的...

设计模式——订阅模式(观察者模式)

2019-04-28
阅读 3 分钟
1.6k
《Head First设计模式》笔记整理...欢迎交流... 定义 {代码...} OO原则 封装变化 多用组合,少用继承 针对接口编程,而不是针对实现编程 为了交互对象之间的松耦合而努力 一对多关系 定义类图 松耦合的威力 {代码...} 观察者模式让主题和对象之间松耦合。 为什么呢? 关于观察者的一切,主题只知道观察者实现看某个接口...

设计模式——策略模式

2019-04-25
阅读 3 分钟
1.3k
这里稍微提醒一下,策略模式是我们学习的第一个模式,理解它还是非常重要的。这个模式跟后面讲到的 模板模式 有些相似的地方,我在学习的时候,看到模板模式已经忘记什么是策略模式了,看的一脸懵逼。不过没关系,后面我会针对这两个进行整理,这里要记住的是,策略模式封装了一组可以互换的算法簇,是针对接口编程的。

前端性能优化——回流与重绘

2018-11-22
阅读 1 分钟
3.4k
前言 最近在研究virtual dom,接着就研究回顾起回流(reflow)与重绘(repaint)了。 回流与重绘,好像大家都很熟悉的样子,但是要具体来说说,又说不出什么来。下面我是我稍做的整理: 浏览器渲染流程 在理解这两个概念之前,我们先来看看浏览器渲染的工作流程。这里以webkit渲染引擎为例 浏览器请求到html文档后,将ht...

前端性能优化——http首部

2017-08-28
阅读 3 分钟
2k
可能很多人不知道http头部有什么作用,甚至一看到这些密密麻麻的头部信息,赶紧敬而远之。同学~你知道你犯了多大的错误吗?了解http头部,可以让你网站的性能得到很大的提升。

js入门笔记整理

2017-08-01
阅读 5 分钟
1.9k
下一篇:js入门笔记整理(二)——操作符 给入门的同学整理的笔记,不对的地方欢迎指出~ javascript的组成 首先需要明白的是,一个完整的javascript实现应该由下列三个不同的部分组成 核心(ECMAScript,ECMAScript是一种语言的标准) 文档对象模型(DOM) 浏览器对象模型 (BOM) 语法 区分大小写 标识符 注释 严格模式 语...

js数组操作大全

2017-06-29
阅读 1 分钟
2.8k
栈方法 栈是一种LIFO(Last-In-First-Out,后进先出)的数据结构。 push: 接受任意数量的参数,逐个添加至数组的末尾,返回修改后数组的长度 pop: 从数组末尾一处最后一项,减少数组length,返回被移除的项 {代码...} 队列方法 队列是一种FIFO(First-In-First-Out)的数据结构 shift: 移除数组的第一项,,length减1,...

js遍历之for forEach in of

2017-06-29
阅读 3 分钟
5.4k
即使是最简单的循环,其中也深藏学问 ECMAScript5(es5)有三种for循环 简单for for in forEach ECMAScript6(es6)新增 for of 简单for for是循环的基础语法,也是最常用的循环结构。没有兼容性问题,效率上:for > forEach > map >for in forEach forEach由es5提出,属于数组的迭代方法 概述: 方法让数组的每一项...

es6 学习笔记

2017-05-07
阅读 3 分钟
1.7k
块级作用域 es5只有全局作用域和函数作用域,没有块级作用域,这带来了很多不合理的场景。 第一种场景:内层变量可能会覆盖外层变量 {代码...} 出现这种结果的原因是变量提升,导致内层的test覆盖了外层的test 第二种场景:用来计数的循环变量泄露为全局变量 {代码...} let命令 let声明的变量只在其代码块内有效,var没...

js常用的函数库

2017-01-05
阅读 6 分钟
2.7k
阻止冒泡、默认行为、事件捕获 {代码...} 获取地址参数 {代码...} 判断微信环境 {代码...} 获取环境参数 {代码...} 判断是否为数组 {代码...} 数组除重 {代码...} 获取cookie {代码...} 设置cookie {代码...} 检测cookie {代码...} 获取localstorage {代码...} 设置localstorage {代码...} 清空localstorage {代码...} ...

div+css图片列表布局(二)

2017-01-05
阅读 3 分钟
12.4k
本文默认你已经看过了我的上一篇文章 div+css图片列表布局(一),接下来我们来实现复杂一点的图片列表布局。以下面的样式为例 为了方便,我只列出display:inline-block的布局示例。 和上一篇介绍的一样,第一步也是给父容器li元素定义一个宽度 {代码...} 图片列表的行和列之间是有间隔的,我们使用一个容器div.content...

div+css图片列表布局(一)

2017-01-04
阅读 4 分钟
32.4k
前端切图的时候经常会遇到图片布局,初学者可能会比较生疏。接下来我会以3行3列的图片列表为列子介绍两种常用的切图方案: float布局 display:inline-block布局 首先来讲float布局的方法 float布局 非常简单,一般我会使用ul li布局 {代码...} 然后给每个li元素定一个宽度并向左浮动。这里每行要显示3张图片,那么每张图...

javascript的this对象

2016-10-25
阅读 3 分钟
3.7k
我们知道,this对象是在运行时基于执行函数的执行环境绑定:在全局函数中,this等于window,而当函数被当做某个对象的方法调用时,this等于那个对象。