arguments 对象
定义一个函数,如果不确定用户是否传入了参数,或者不知道用户传入的参数有几个,无法进行计算。但如果已知参数的个数和值,就可以使用 arguments 。
arguments 对象,获取函数调用时传入了几个参数。取得是实参。
第一题
function foo(a) {
alert(arguments.length);
}
foo(1, 2, 3);
- 1
- 2
- 3
- undefined
答案: 3
解析:arguments 取的是实参的个数,而foo.length取的是形参个数。
- arguments 对象是所有(非箭头函数)函数中可以用的局部变量。
- arguments 对象不是一个 Array 。它类似于 Array ,但是出了 length 属性和索引元素之外并没有任何 Array 的属性。
- 对 arguments 对象 使用 typeof ,返回的是 “object”。但是对arguments[0] 使用 typeof 得到的是单个参数的类型。