function fn(){
console.log(arguments);
console.log(...arguments);
var a = Array.from(arguments);
var b = [...arguments];
var c = [...arguments].slice(1);
var d = Array.prototype.slice.call(arguments);
var e = Array.prototype.slice.call(arguments, 1);
var f = Array.prototype.slice.call(arguments, 1,3);
var g = Array.prototype.slice.call(...arguments); //如果传入的不是伪数组,那么会得到空数组
var h = Array.prototype.slice.call(1); //如果传入的不是伪数组,那么会得到空数组
var i = Array.prototype.slice.call(1,2); //如果传入的不是伪数组,那么会得到空数组
console.log(a);
console.log(b);
console.log(c);
console.log(d);
console.log(e);
console.log(f);
console.log(g);
console.log(h);
console.log(i);
}
fn(1,2,3,4,5,6);
结果为
[Arguments] { '0': 1, '1': 2, '2': 3, '3': 4, '4': 5, '5': 6 }
1 2 3 4 5 6
[ 1, 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5, 6 ]
[ 2, 3, 4, 5, 6 ]
[ 1, 2, 3, 4, 5, 6 ]
[ 2, 3, 4, 5, 6 ]
[ 2, 3 ]
[]
[]
[]