性能优化
mr.shen7436
求上得中
展开
-
高性能JavaScript——script标签的阻塞特性
JavaScript 在浏览器中的性能,可以认为是开发者所面临的最严重的可用性问题。这个问题因为 JavaScript 的阻塞特性而变得复杂,也就是说浏览器在执行 JavaScript 时不能同时做任何事情。多数浏览器使用单一进程来处理用户界面(UI)刷新和 JavaScript ,所以只能同一时刻做一件事。简单的说,就是 <scritp>标签每次出现,都会让页面等待脚本的解析和执行...原创 2019-05-30 21:51:27 · 2144 阅读 · 0 评论 -
高性能 JavaScript —— 天生就慢的DOM操作
天生就慢文档对象模型(DOM)是一个独立语言的,用于操作 XML 和 HTML 文档的程序接口(API)。在浏览器中,主要用于和 HTML 文档打交道,同样也用在 Web 程序中获取 XML 文档,并使用 DOM API 来访问文档中的数据。浏览器通常会将 DOM 和 JavaScript 独立实现,比如在 IE 中,JavaScript 的实现名为 JScript,位于 jscript.cl...原创 2019-06-05 21:40:01 · 217 阅读 · 0 评论 -
浏览器的重绘(repaint)与重排(reflow)
浏览器下载完成页面中的所有组件——HTML标记、JavaScript、CSS、图片——之后会解析并生成两个内部数据结构:DOM树:表示页面结构渲染树:表示DOM节点如何展示DOM树中的每一个需要显示的节点在渲染树中至少存在一个对应的节点(隐藏的DOM元素在渲染树中没有对应的节点)。渲染树的节点被称为“帧”或“盒”,符合CSS模型的定义,理解页面元素为一个具有padding,margin...原创 2019-06-05 22:18:21 · 395 阅读 · 0 评论 -
避免重复运算的记忆函数
函数可以将先前操作的结果记录在某个对象里,从而避免无谓的重复计算。这种优化被称为记忆(memoization)。以递归函数计算斐波那契数列(一个 Fibonacci 数字为前两个数字之和,最前面的两个数字为0和1)为例:var fibonacci = function (n) { return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - ...原创 2019-06-05 22:47:21 · 312 阅读 · 0 评论