**arguments**
* * * * *
在函数调用时(不管是调用还是被调用),会自动在该函数内部生成一个名为 `arguments` 的隐藏对象,该对象是个类数组。
* * * * *
**注意: `arguments` 只有在函数调用时才会生成,所以它保存的是实参,每个函数都有自己的 `arguments` ,所以下面例子的 `arguments` 不相等**
* * * * *
![](https://box.kancloud.cn/6b35b79000786f5bd641ffced0b36ad0_383x265.png)
* * * * *
如果一个函数返回一个函数里面包含 `arguments` ,那么这个 `arguments` 就是返回那个函数传入的实参数。
```
function outer() {
return function () {
console.log(arguments)
}
}
```
![](https://box.kancloud.cn/98942fa7c525ae5bfb4f53a2496295e7_489x243.png)