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

 

posted @ 2018-03-01 13:07  Sun~_~  阅读(622)  评论(0编辑  收藏  举报