# arguments

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

# 描述

箭头函数中不可用,可以使用arguments对象在函数中引用函数的参数。

# 属性

# arguments.callee

表示函数本身

# arguments.caller 已经弃用

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

# arguments.length

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

# arguments[@@iterator]

# 场景

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

这三种情况,不能再函数内部通过arguments对象改变参数的值

此外严格模式下,arguments和参数没有关联,而非严格模式下还是有关联的。

剩余参数(rest)能够部分程度模拟arguments参数

# 参考

Last Updated: 2019-11-09 22:41:00