根据 MDN 中对于arguments 的解释:Arguments 对象 - JavaScript | MDN (mozilla.org)
arguments
是一个对应于传递给函数的参数的类数组【伪数组】对象。
那 arguments 到底是什么呢?我们为什么用?何时用?
当我们不确定有多少个参数传递的时候,可以用 arguments 来获取。在 JavaScript 中,arguments 实际上它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。
注意:这里提到 arguments 是类数组【伪数组】,说明它和数组关系很大,下面先看一个例子
function fn(){
console.log(arguments);
// arguments 里面存储了所有传递过来的实参
console.log(arguments.length);
}
fn(1,2,3);
arguments -- 伪数组
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:
- 具有 length 属性
- 按索引方式储存数据
- 不具有数组的 push , pop 等方法
案例:利用函数求任意个数的最大值
function maxValue() {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (max < arguments[i]) {
max = arguments[i];
}
}
return max;
}
console.log(maxValue(2, 4, 5, 9));
console.log(maxValue(12, 4, 9));
看到这里,你应该就完全掌握了 arguments 的用法,快去试试吧!