js语言性能优化细节记录

js语言性能优化

jsperfjsbench可在线对js代码执行效率进行比较

  • 避免全局变量

    • 全局变量挂载在window下
    • 全局变量至少有一个引用计数
    • 全局变量存活更久,但持续占用内存
  • 避免全局查找

    • 目标变量不存在于当前作用域内,需要通过作用域链向上查找
    • 减少全局查找降低时间消耗
    • 减少不必要的全局定义
    • 全局变量数据局部化
  • 避免循环引用
  • 采用字面量代替New操作
  • setTimeout替换setInerval
  • 采用事件委托
  • 合并循环变量和条件
  • 通过原型对象添加方法比构造方法执行效率高
  • 避开闭包陷阱(及时释放内存,避免内存泄漏)
  • 避免属性访问方法使用
  • 遍历方法中,执行效率排序forEach,普通for循环,for-in依次降低
  • 克隆节点比新建节点执行效率高

优化细节做一次记录

你可能感兴趣的