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

描述

箭头函数中不可用,可以使用arguments对象在函数中引用函数的参数。
js-basic-argumetns@llccingCodePen

属性

arguments.callee

表示函数本身

arguments.caller 已经弃用

  1. function foo(){
  2. // 通过这样的方式
  3. foo.caller()
  4. // 或者这样,能够获取调用者
  5. arguments.callee.caller();
  6. }

arguments.length

很好理解的属性,输出传入函数内的参数的个数。

arguments[@@iterator]

js-basic-arguments-2@llccingCodePen

场景

剩余参数、默认参数和解构赋值参数

  1. 这三种情况,不能再函数内部通过arguments对象改变参数的值
  2. 此外严格模式下,arguments和参数没有关联,而非严格模式下还是有关联的。

剩余参数(rest)能够部分程度模拟arguments参数
js-basic-arguments-3@llccingCodePen

参考