var start0 = new Date();
var arr0 = new Array(10000000);
for(var i = 0, l = arr0.length; i < l; i++) {
arr0[i] = 1;
}
var end0 = new Date();
var time0 = end0 - start0;
var start1 = new Date();
var arr1 = new Array(10000000);
for (var i = arr1.length; i--; ) {
arr1[i] = 1;
}
var end1 = new Date();
var time1 = end1 - start1;
var start2 = new Date();
var arr2 = new Array(10000000);
arr2.forEach(function (item) {
item = 1;
});
var end2 = new Date();
var time2 = end2 - start2;
alert('递增for循环用时:' + time0 + '递减for循环用时:' + time1 + 'forEach递归用时:' + time2);
第一种:
正常的递增循环
第二种:
JavaScript里推荐的递减循环(与0比较比与数组长度比较快)
第三种:
ES5支持的递归
在不同浏览器的耗时:
Chrome: 19, 22, 1249
FF: 185, 4313, 18
360(7.1): 374, 1014, 577
由此可见Chrome浏览器还是比较强大的,但是跟预期的递减效率比较高不符合,递增for循环的效率普遍优于递减!