[置顶] 前端性能优化:数组操作的优化二

数据通过中括号的方式定义,定义时加不加长度,这两种方式性能有区别吗?

填充元素使用下标的方式和push有性能差别吗?

测试代码:


 var length = 30000;
    function Test1() {
        var date1 = new Date().getTime();
        var t = [length];
        for (var i = 0; i < length; i++) {
            t.push(i.toString());
        }
        var date12 = new Date().getTime();
        console.log("1Test" + ((date12 - date1)));
    }
    function Test2() {
        var date1 = new Date().getTime();
        var t = [length];
        for (var i = 0; i < length; i++) {
            t[i] = i.toString();
        }
        var date12 = new Date().getTime();
        console.log("2Test" + ((date12 - date1)));
    }
    function Test3() {
        var date1 = new Date().getTime();
        var t = [];
        for (var i = 0; i < length; i++) {
            t[i] = i.toString();
        }
        var date12 = new Date().getTime();
        console.log("3Test" + ((date12 - date1)));
    }
    function Test4() {
        var date1 = new Date().getTime();
        var t = [];
        for (var i = 0; i < length; i++) {
            t.push(i.toString());
        }
        var date12 = new Date().getTime();
        console.log("4Test" + ((date12 - date1)));
    }

在实际测试中发现:第二种,第三种性能相对较好,看来下标的方式要比push的方式的好,第二种第三种性能相差不大,但理论上第二种方式性能更好点,毕竟直接声明的数据长度。

你可能感兴趣的:([置顶] 前端性能优化:数组操作的优化二)