arguments 是一个对应于传递给函数的参数的类数组对象
描述
箭头函数中不可用,可以使用arguments对象在函数中引用函数的参数。
js-basic-argumetns@llccingCodePen
属性
arguments.callee
表示函数本身
arguments.caller 已经弃用
function foo(){
// 通过这样的方式
foo.caller()
// 或者这样,能够获取调用者
arguments.callee.caller();
}
arguments.length
很好理解的属性,输出传入函数内的参数的个数。
arguments[@@iterator]
js-basic-arguments-2@llccingCodePen
场景
剩余参数、默认参数和解构赋值参数
这三种情况,不能再函数内部通过arguments对象改变参数的值
此外严格模式下,arguments和参数没有关联,而非严格模式下还是有关联的。
剩余参数(rest)能够部分程度模拟arguments参数
js-basic-arguments-3@llccingCodePen