for、for..in、forEach、$.each等循环性能测试
var num = 10000000,arr = []; for(i=0;i<num;i++){ arr[i] = i+2; } //1) 使用 for 循环 function test1() { var d1 = new Date(); var sum = 0; for (var i = 0; i < arr.length; i++) { sum += arr[i] } var d2 = new Date(); var x = d2 - d1; console.log("for计算用时:" + x); } //1) 使用 for 循环 function test2() { var d1 = new Date(); var sum = 0; for (var i = 0,len=arr.length; i < len; i++) { sum += arr[i] } var d2 = new Date(); var x = d2 - d1; console.log("for循环优化计算用时:" + x); } //2) 使用 for..in 循环 function test11() { var d1 = new Date(); var sum = 0; for (var i in arr) { sum += arr[i] } var d2 = new Date(); var x = d2 - d1; console.log("for..in计算用时:" + x); } //3) 使用 forEach 循环 function test3() { var d1 = new Date(); var sum = 0; arr.forEach(function (n) { sum += n; }) var d2 = new Date(); var x = d2 - d1; console.log("forEach计算用时:" + x); } //4)$.each循环 function test4() { var d1 = new Date(); var sum = 0; $.each(arr,function (i,n) { sum += n; }) var d2 = new Date(); var x = d2 - d1; console.log("$.each计算用时:" + x); } test1();test11();test2();test3();test4(); // for计算用时:15 // for..in计算用时:1338 // for循环优化计算用时:12 // forEach计算用时:330 // $.each计算用时:360