js语言性能优化

jsperf和jsbench可在线对js代码执行效率进行比拟

  • 防止全局变量

    • 全局变量挂载在window下
    • 全局变量至多有一个援用计数
    • 全局变量存活更久,但继续占用内存
  • 防止全局查找

    • 指标变量不存在于以后作用域内,须要通过作用域链向上查找
    • 缩小全局查找升高工夫耗费
    • 缩小不必要的全局定义
    • 全局变量数据部分化
  • 防止循环援用
  • 采纳字面量代替New操作
  • setTimeout替换setInerval
  • 采纳事件委托
  • 合并循环变量和条件
  • 通过原型对象增加办法比构造方法执行效率高
  • 避开闭包陷阱(及时开释内存,防止内存透露)
  • 防止属性拜访办法应用
  • 遍历办法中,执行效率排序forEach,一般for循环,for-in顺次升高
  • 克隆节点比新建节点执行效率高

优化细节做一次记录