arguments详解
arguments 是一个类似数组的对象, 对应于传递给函数的参数。
有下标 有长度 是一个伪数组
arguments对象不是一个 Array 。它类似于数组,但除了 长度之外没有任何数组属性。例如,它没有 pop方法。但是它可以被转换为一个真正的数组::
let args =
Array.prototype.slice.call(arguments);
let args
= [].slice.call(arguments);
你还可以使用 Array.from()方法或 spread 运算符将 arguments 转换为真正的数组:
let args =
Array.from(arguments);
let args
= [...arguments];
可以借用展开运算符
转化成真正的数组
function fn (){
let arr = [...arguments];
// arr 就是一个数组
}
fn(1,2,3)
可以借用数组方法:
function fn (){
Array.prototype.push.call(arguments,4,5)
// 借用 数组的方法 末尾添加一个元素
console.log(arguments);
};
fn(1,2,3)