将参数添加到'arguments'类似数组的对象,性能测试

时间:2015-11-02 11:41:48

标签: javascript node.js performance v8

您好我做了一些简单的测试:在javascript中为参数添加参数类似对象的更好方法:

这表明使用Array.prototype.push.call大约慢3倍(chrome),为什么?

http://jsfiddle.net/vhrs56nm/

function test() {
    Array.prototype.push.call(arguments, 123);
}

function test2() {
    arguments[arguments.length] = 123;
    arguments.length++;
}

console.time("test1");
for ( var i=0; i<1000000; i++ ) {
    test(1,2,3);
}
console.timeEnd("test1");

console.time("test2");
for ( var i=0; i<1000000; i++ ) {
    test2(1,2,3);
}
console.timeEnd("test2");

1 个答案:

答案 0 :(得分:2)

  

Array.prototype.push.call大约慢3倍(铬),为什么?

由于