for(var i=0;i<100;i++){ arr[i]=0; } 代码2: var i = 0; while(i < 100){ arr[i++]=0; } 代码3: var i = 0; while(i < 100){ arr[i]=0; i++; } 在firefox下测试这两段代码,结果是代码2优于代码1和3,而代码1一般优于代码3,有时会被代码3超过;而在IE 6.0下,测试压力较大的时候(如测试10000次以上)代码2和3则有时候优于代码1,有时候就会远远落后代码1,而在测试压力较小(如5000次),则代码2>代码3>代码1。 代码4: var i = 0; var a; while(i < 100){ a = 0; i++; } 代码5: var a; for(var i=0;i<100;i++){ a = 0; } 上面两段代码在Firefox和IE下测试结果都是性能接近的。 代码6: var a; var i=0; while(i<100){ a=i; i++; } 代码7: var a; var i=0; while(i<100){ a=i++; } 代码8: var a; for(var i=0;i<100;i++){ a = i; } 代码9: var a; for(var i=0;i<100;){ a = i++; } 这四段代码在Firefox下6和8的性能接近,7和9的性能接近,而6, 8 < 7, 9; 最后我们来看一下空循环 代码10: for(var i=0;i<100;i++){ } 代码11: var i; while(i<100){ i++; } 最后的测试出现了神奇的结果,Firefox下代码10所花的时间与代码11所花的大约是24:1。所以它不具备参考价值,于是我没有放在一开始给大家看。 |