您好我做了一些简单的测试:在javascript中为参数添加参数类似对象的更好方法:
这表明使用Array.prototype.push.call大约慢3倍(chrome),为什么?
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");
答案 0 :(得分:2)
Array.prototype.push.call
大约慢3倍(铬),为什么?
由于
arguments
周围需要对象which kills optimisations