微信号:FrontDev

介绍:分享 Web 前端相关的技术文章、工具资源、精选课程、热点资讯

JavaScript 代码性能优化总结

2015-10-26 21:28 前端大全

(点击上方,可快速关注)


作者:携程设计委员会

网址:http://ued.ctrip.com/blog/?p=4166


下面是我总结的一些小技巧,仅供参考。


以下代码基本上在jQuery的源码里面都可以看到,如有说得不对的地方,请大家指出。


尽量使用源生方法


javaScript是解释性语言,相比编译性语言执行速度要慢。浏览器已经实现的方法,就不要再去实现一遍了。另外,浏览器已经实现的方法在算法方面已经做了很多优化。


避免全局查找


在一个函数中会用到全局对象存储为局部变量来减少全局查找,因为访问局部变量的速度要比访问全局变量的速度更快些。



尽量减少循环次数


少一层循环,就能提高数倍性能。如果要对一个数组的每个元素进行多次操作,尽可能使用一次循环,多次操作,而不是多次循环,每次循环执行一次操作。尤其是在进行多个正则匹配的时候,尽可能合并正则表达式,在一次遍历中尽可能找到相应的匹配。


循环



switch



条件分支


将条件分支,按可能性顺序从高到低排列:可以减少解释器对条件的探测次数。


在同一条件 >2条件分支时,使用switch优于if:switch分支选择的效率高于if,在IE下尤为明显。4条分支的测试,IE下switch的执行时间约为if的一半。


使用三目运算符替代条件分支。



定时器


如果针对的是不断运行的代码,不应该使用setTimeout,而应该是用setInterval,因为setTimeout每一次都会初始化一个定时器,而setInterval只会在开始的时候初始化一个定时器。



创建对象的另外一个办法-不使用new



用做标记的变量尽可能使用布尔类型


直接用true和false做标记,不要使用数字或者字符串的1和0来做标记。




前端大全

微信号:FrontDev

打造东半球最好的 前端技术 微信号

--------------------------------------

商务合作QQ:2302462408

投稿网址:top.jobbole.com


 
前端大全 更多文章 5个典型的JavaScript面试题(上) Limu:JavaScript的那些书 Web开发:我希望得到的编程学习路线图 JavaScript基础工具清单 常用排序算法之JavaScript实现
猜您喜欢 互联网+时代不得不看的设计书 @Container容器技术大会,运维帮免费送票3张 Many Raspberry Pi projects from Scott Hanselman 凡事都要问为什么的好奇橙子 ▎UI中国人物专访——十萬個為什麼(可乐橙) Android wear 中国特别版GMS