后增量与预增量 - Javascript优化 [英] post increment vs pre increment - Javascript Optimization
问题描述
当我偶然发现这个名为JSpeed的项目 - Javascript优化时,我正在浏览Google Code。
I was browsing Google Code when I chanced upon this project called JSpeed - optimization for Javascript.
我注意到其中一项优化是更改 i ++
到 ++ i
in for for return语句。
I noticed one of the optimization was to change i++
to ++i
in for loop statements.
之前优化
for (i=0;i<1;i++) {}
for (var i = 0, j = 0; i < 1000000; i++, j++) {
if (i == 4) {
var tmp = i / 2;
}
if ((i % 2) == 0) {
var tmp = i / 2;
i++;
}
}
var arr = new Array(1000000);
for (i = 0; i < arr.length; i++) {}
优化后
for(var i=0;i<1;++i){}
for(var i=0,j=0;i<1000000;++i,++j){if(i==4){var tmp=i>>1;}
if((i&1)==0){var tmp=i>>1;i++;}}
var arr=new Array(1000000);for(var i=0,arr_len=arr.length;i<arr_len;++i){}
我知道前后增量的作用,但是任何想法如何加速代码?
I know what pre and post increments do, but any idea how does this speeds the code up?
推荐答案
这是我读到的,可以回答你的问题:preincrement( ++ i
)在 i
的值中加1,然后返回 i
;相反, i ++
返回 i
然后加一个,理论上 导致在应用增量操作之前创建存储 i
值的临时变量。
This is what I read and could answer your question: "preincrement (++i
) adds one to the value of i
, then returns i
; in contrast, i++
returns i
then adds one to it, which in theory results in the creation of a temporary variable storing the value of i
before the increment operation was applied".
这篇关于后增量与预增量 - Javascript优化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!