arguments 是一个对应于传递给函数的参数的类数组对象。

注意:
arguments对象不是一个Array 。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。

比如Array有个内置函数shift(),用于删除数组第一个元素并返回,不能直接arguments.shift()调用,因为它不是Array,也就没有继承Array.prototype内的函数,可以采用如下方式调用

function fnc(param1,param2){
    Array.prototype.shift.call(arguments);
}

将arguments转换为Array
1.遍历
2.使用Array构造函数

let arr = (arguments.length === 1 ? [arguments[0]] : Array.call(null,arguments));

3.[...arguments]
4.Array.from(arguments)


shuhdad
15 声望2 粉丝