本文做者:zifan javascript
来自:携程设计委员会html
连接:http://ued.ctrip.com/blog/javascript-code-performance-optimization-summary.htmljava
下面是我总结的一些小技巧,仅供参考。正则表达式
如下代码基本上在jQuery的源码里面均可以看到,若有说得不对的地方,请你们指出。算法
javaScript是解释性语言,相比编译性语言执行速度要慢。浏览器已经实现的方法,就不要再去实现一遍了。另外,浏览器已经实现的方法在算法方面已经作了不少优化。数组
在一个函数中会用到全局对象存储为局部变量来减小全局查找,由于访问局部变量的速度要比访问全局变量的速度更快些。浏览器
少一层循环,就能提升数倍性能。若是要对一个数组的每一个元素进行屡次操做,尽量使用一次循环,屡次操做,而不是屡次循环,每次循环执行一次操做。尤为是在进行多个正则匹配的时候,尽量合并正则表达式,在一次遍历中尽量找到相应的匹配。性能优化
将条件分支,按可能性顺序从高到低排列:能够减小解释器对条件的探测次数。函数
在同一条件 >2条件分支时,使用switch优于if:switch分支选择的效率高于if,在IE下尤其明显。4条分支的测试,IE下switch的执行时间约为if的一半。性能
使用三目运算符替代条件分支。
若是针对的是不断运行的代码,不该该使用setTimeout,而应该是用setInterval,由于setTimeout每一次都会初始化一个定时器,而setInterval只会在开始的时候初始化一个定时器。
直接用true和false作标记,不要使用数字或者字符串的1和0来作标记。