06
08
javascript代码性能优化
作者:独木舟 日期:2011-06-08
网上一些文章觉得挺有用,把主要思想摘录下来。
javascript代码性能优化 by西红柿爱番茄

Javascript代码优化无非主要围绕:DOM操作、循环、闭包、对象重复出现、对象的声明方式、作用域链、字符串操作、类的声明方式等等。循环、闭包、对象重复出现是从作用域链的角度去优化的;DOM操作主要围绕HTMLCollection、NodeList等来优化;对象的声明方式主要是对象(Object)、数组(Array)、字符串(String)、函数(Function)、正则(RegExp)等内置的对象使用字面量的方式来声明,这个比使用new来实例化相应的对象在性能上要强很多;字符串操作的优化方式主要是通过数组的push和join方法;类的声明方式优化方式主要是分清属性和方法的声明的方式,方法使用prototype的方式来声明;Javascript语言本身的流程操作语句的优化(if、switch、with、eval等等)。
因此,我将Javascript代码优化主要分为六类:DOM“真空”空间、缩短作用域链、字面量声明方式、字符串操作、类声明方式、流程操作语句。
浮光掠影(第1季):高性能JavaScript实践 by一刀倾城
1. 避免Javascript加载时Block引起的阻塞
2. 尽可能的使用局部变量
3. 多使用ID选择器,少使用CSS选择器
4. 不要轻易获取布局信息
5. 使用冒泡机制减少事件绑定次数
6. 慎用定时器
7. 优化效果不明显的那些技巧
8. 推荐的性能测试工具FireJSPT
9. 推荐的网站性能优化方面的书
高效 JavaScript by我爱互联网
ECMAScript
1. 避免使用 eval 或 Function 构造函数
1. 重写 eval
2. 如果你需要函数,那就用函数
2. 避免使用 with
3. 不要在影响性能的关键函数中使用 try-catch-finally
4. 分隔 eval 和 with
5. 避免使用全局变量
6. 注意隐式对象转换
7. 在关键函数中避免 for-in
8. 优化 string 合并
9. 基本运算符比函数调用更快
10. 向 setTimeout() 和 setInterval()传送函数名,而不要传送字符串
DOM
1. 重绘和 reflow
2. 减少 reflow 次数
3. 最小化 reflow 影响
4. 修改 DOM 树
5. 修改不可见元素
6. 测量大小
7. 一次修改多个样式值
8. 用流畅性换取速度
9. 避免搜索大量节点
10. 使用 XPath 提高速度
11. 避免在遍历 DOM 时修改 DOM
12. 使用变量保存 DOM 值
页面载入
1. 避免保存来自其他文档的引用
2. 快速历史浏览
3. 使用 XMLHttpRequest
4. 动态创建 SCRIPT 元素
5. location.replace() 控制历史项
javascript代码性能优化 by西红柿爱番茄

Javascript代码优化无非主要围绕:DOM操作、循环、闭包、对象重复出现、对象的声明方式、作用域链、字符串操作、类的声明方式等等。循环、闭包、对象重复出现是从作用域链的角度去优化的;DOM操作主要围绕HTMLCollection、NodeList等来优化;对象的声明方式主要是对象(Object)、数组(Array)、字符串(String)、函数(Function)、正则(RegExp)等内置的对象使用字面量的方式来声明,这个比使用new来实例化相应的对象在性能上要强很多;字符串操作的优化方式主要是通过数组的push和join方法;类的声明方式优化方式主要是分清属性和方法的声明的方式,方法使用prototype的方式来声明;Javascript语言本身的流程操作语句的优化(if、switch、with、eval等等)。
因此,我将Javascript代码优化主要分为六类:DOM“真空”空间、缩短作用域链、字面量声明方式、字符串操作、类声明方式、流程操作语句。
浮光掠影(第1季):高性能JavaScript实践 by一刀倾城
1. 避免Javascript加载时Block引起的阻塞
2. 尽可能的使用局部变量
3. 多使用ID选择器,少使用CSS选择器
4. 不要轻易获取布局信息
5. 使用冒泡机制减少事件绑定次数
6. 慎用定时器
7. 优化效果不明显的那些技巧
8. 推荐的性能测试工具FireJSPT
9. 推荐的网站性能优化方面的书
高效 JavaScript by我爱互联网
ECMAScript
1. 避免使用 eval 或 Function 构造函数
1. 重写 eval
2. 如果你需要函数,那就用函数
2. 避免使用 with
3. 不要在影响性能的关键函数中使用 try-catch-finally
4. 分隔 eval 和 with
5. 避免使用全局变量
6. 注意隐式对象转换
7. 在关键函数中避免 for-in
8. 优化 string 合并
9. 基本运算符比函数调用更快
10. 向 setTimeout() 和 setInterval()传送函数名,而不要传送字符串
DOM
1. 重绘和 reflow
2. 减少 reflow 次数
3. 最小化 reflow 影响
4. 修改 DOM 树
5. 修改不可见元素
6. 测量大小
7. 一次修改多个样式值
8. 用流畅性换取速度
9. 避免搜索大量节点
10. 使用 XPath 提高速度
11. 避免在遍历 DOM 时修改 DOM
12. 使用变量保存 DOM 值
页面载入
1. 避免保存来自其他文档的引用
2. 快速历史浏览
3. 使用 XMLHttpRequest
4. 动态创建 SCRIPT 元素
5. location.replace() 控制历史项
评论: 0 | 引用: 0 | 查看次数: -
发表评论