javascript for循环语法和性能

时间:2015-12-30 00:30:47

标签: javascript for-loop

我用我最近购买的书来学习javascript。这本书解释了for循环的性能。也就是说,有2种风格,

A: for(var i=0; i<arr.length; i++){ //some code... }

B: for(var i=arr.length-1; i>-1; i--){ //some code... }

这本书描述了“风格B比A更好的表现”。这看起来似乎有道理,但是当java(不是javascript)语法我不关心这种情况时。所以我的问题是“风格B更有效”?提前谢谢你......

1 个答案:

答案 0 :(得分:1)

在性能方面,使用递减运算符i--不一定比递增运算符i++更快。性能方面,它们都很快。

瓶颈与上升循环有关。对于每个数字,必须评估数组的大小。让我们来看看这两个案例。

降序循环

for (var i = array.length; i >= 1; i-- )
在初始化i变量时,

array.length仅被评估一次。

升序循环

for (var i = 1; i <= array.length; i++ )
每次array.length递增时,都会评估

i。你还必须检查i的值,以确保它小于数组的长度。

如需进一步见解,请查看以下博客文章

http://www.2ality.com/2013/07/for-loop-performance.html