当我偶然发现名为JSpeed-Javascript优化的项目时,我正在浏览Google Code。
我注意到优化之一是更改i++为++ifor循环语句。
i++
++i
优化之前
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)加一的值i,然后返回i;相反,i++收益i则增加了一个给它,这 _在理论上_中创建一个临时变量存储的值的结果i在执行增量操作之前”。
i