js 语言性能优化
jsperf 和 jsbench 可在线对 js 代码执行效率进行比拟
-
防止全局变量
- 全局变量挂载在 window 下
- 全局变量至多有一个援用计数
- 全局变量存活更久,但继续占用内存
-
防止全局查找
- 指标变量不存在于以后作用域内,须要通过作用域链向上查找
- 缩小全局查找升高工夫耗费
- 缩小不必要的全局定义
- 全局变量数据部分化
- 防止循环援用
- 采纳字面量代替 New 操作
- setTimeout 替换 setInerval
- 采纳事件委托
- 合并循环变量和条件
- 通过原型对象增加办法比构造方法执行效率高
- 避开闭包陷阱(及时开释内存,防止内存透露)
- 防止属性拜访办法应用
- 遍历办法中,执行效率排序 forEach, 一般 for 循环,for-in 顺次升高
- 克隆节点比新建节点执行效率高
优化细节做一次记录