摘要: 观察者模式又叫做发布订阅者模式(Publish/Subscribe),它可以让多个观察者对象同时监听某一个主题对象,这个主题对象的状态变化时会通知所有的订阅者,使得它们能够做出反应。JS的事件模型就是一种观察者模式的体现,当对应的事件被触发时,监听该事件的所有监听函数都会被调用。 下面是用JS实现的 阅读全文
posted @ 2019-06-03 19:49 前端菜园子 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 为什么需要 Virtual Dom 众所周知,操作 DOM 是很耗费性能的一件事情,既然如此,我们可以考虑通过 JS 对象来模拟 DOM 对象,毕竟操作 JS 对象比操作 DOM 省时的多。 举个例子 1234 // 假设这里模拟一个 ul,其中包含了 5 个 li[1, 2, 3, 4, 5] / 阅读全文
posted @ 2019-06-03 19:48 前端菜园子 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 写在前面 在讨论回流与重绘之前,我们要知道: 浏览器使用流式布局模型 (Flow Based Layout )。 浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了Render Tree。 有了RenderTree,我们就知道了所有节点的样式,然后计算他们在页面 阅读全文
posted @ 2019-06-03 19:47 前端菜园子 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一些应该掌握的知识点 JavaScript运行三部曲 语法分析 预编译 解释执行 Imply Global,暗示全局变量,即:任何变量,如果变量未经声明就赋值,此变量就为全局对象所有(也可理解为成为全局对象下面的一个属性) 只要在全局范围内,不管是声明的一个变量,还是不声明就创建的一个暗示变量,都会 阅读全文
posted @ 2019-06-03 19:42 前端菜园子 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 基本用法 <canvas> 元素 渲染上下文(The rendering context) 检查支持性 绘制形状 绘制矩形 绘制路径 添加样式和颜色 绘制文本 使用图片 变形 合成与裁剪 基本动画 高级动画 <canvas> 元素 渲染上下文(The rendering context) 检查支持性 阅读全文
posted @ 2019-06-03 19:39 前端菜园子 阅读(380) 评论(0) 推荐(0) 编辑