JS中的函数中,其实有一个“隐形”的东西来存储实参所有的实参,这个东西就是arguments对象。但在实际使用过程中它的使用方式和数组简直一模一样,用起来感觉就是数组,没有任何毛病,但实际上它并不是一个数组。
arguments看起来,用起来都像是数组
-
1) 调用方法类似:都可以通过中括号下标的形式来访问具体某个参数。
-
2) 有length属性:直接可以获取实参的个数。
-
3) 和数组一样,用中括号将内容包含起来。
-
在控制台得到的结果如下
arguments到底是不是数组呢?
我们从三个角度来验证下arguments是不是数组。
1)如果是数组,就可以使用前面介绍过的数组的方法,比如用push函数给arguments插入一个元素。
控制台报错,所以arguments并不像正常的数组一样有push函数
2)正面确认下,用我们之前判断数组的方法来判断一下:
控制台输出flase:直接说明arguments不是数组。
3)使用toString查看