当然,ES6+之后可以直接用Array.from来构造array了。这之前在转换时需要注意用concat时要把args作为参数而不是thisArg,slice则相反
function useArguments() {
var s = [].concat.apply(arguments)
console.log(s)
/*
[Arguments(4)]
(4) [1, 2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ]
length: 1
__proto__:Array(0)
*/
var b = [].concat.apply([],arguments)
var c = [].slice.apply(arguments) // or [].slice.call(arguments)
/*
Both b and c would be [1,2,3,4]
*/
}
useArguments(1,2,3,4)