JavaScript数组的3种循环方式效率的比较

来源:互联网 发布:淘宝页面怎样设为首页 编辑:程序博客网 时间:2024/05/21 10:11
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循环的效率普遍优于递减!

0 0
原创粉丝点击