以下是我总结的一些小技巧,仅供参考。
以下代码基本可以在jQuery的源代码中看到。如果有什么不对,请指出来。
尽量用原来的方法。
JavaScript是一种解释性语言,其执行速度比编译语言慢。不要实现浏览器已经实现的方法。此外,浏览器实现的方法的算法也得到了很大的优化。
避免全局查找。
在函数中,全局对象被存储为局部变量以减少全局搜索,因为访问局部变量比访问全局变量更快。
尽量缩短周期时间。
性能可以提高几倍,减少一个周期。如果要对数组的每个元素执行多个操作,请尝试使用一个循环和多个操作,而不是多个循环,并对每个循环执行一个操作。特别是在进行多次正则匹配时,尽可能地组合正则表达式,在一次遍历中尽可能多地找到对应的匹配。
传播
转换
条件分支
条件分支按照可能性的顺序从高到低排列,这可以减少解释器检测条件的次数。
在条件2的相同条件分支下,使用switch优于if:分支选择效率if:switch高于if,尤其是在ie下。在4个分支的测试中,IE下开关的执行时间约为if的一半。
使用三项式运算符代替条件分支。
计时器
如果是针对连续运行的代码,就不应该使用setTimeout,而应该使用setInterval,因为setTimeout每次都会初始化一个定时器,而setInterval只在开始的时候初始化一个定时器。计时器
创建对象的另一种方法——不要使用new。
标记变量尽可能使用布尔类型。
直接用真假做标记,不要用数字或1、0的字符串做标记。