js语言性能优化
jsperf和jsbench可在线对js代码执行效率进行比较
避免全局变量
- 全局变量挂载在window下
- 全局变量至少有一个引用计数
- 全局变量存活更久,但持续占用内存
避免全局查找
- 目标变量不存在于当前作用域内,需要通过作用域链向上查找
- 减少全局查找降低时间消耗
- 减少不必要的全局定义
- 全局变量数据局部化
- 避免循环引用
- 采用字面量代替New操作
- setTimeout替换setInerval
- 采用事件委托
- 合并循环变量和条件
- 通过原型对象添加方法比构造方法执行效率高
- 避开闭包陷阱(及时释放内存,避免内存泄漏)
- 避免属性访问方法使用
- 遍历方法中,执行效率排序forEach,普通for循环,for-in依次降低
- 克隆节点比新建节点执行效率高
优化细节做一次记录
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。