首先,arguments是JavaScript里的一个内置对象,说arguments像个数组,是因为它和NodeList类似,都拥有length属性,也可以写成类似数组的样式arguements[参数索引值] 来代表传给函数的参数,但它没有push和pop等数组方法,因此它不能算是数组,它只是Arguments对象的一个实例。其次,arguments只有在function体内才有意义。
arguments.length 表示实参长度。 JS不会主动为你判断你到底给函数传了多少个参数,如果你传多了,多余的部分就不会被使用;如果你传少了,那么没接收到实参值的形参的值就是undefined。这时,我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数。此外,引用一个形式参数可以用参数名,也可以用arguments[ i ]数组形式,其中arguments[ i ]表示第i 个参数。
arguments还为我们提供了这样一种可能,就是为一个函数传递任意数目的实际参数:
比如说,我想判断你传给我的一些数字的大小,并取出最大的那个,对,你传多少参数都行,只要是数字(因为传的是数字函数内部就不用我再判断类型了,呵呵)。如下:
JavaScript代码: |
<script language="JavaScript" type= "text/javascript"> |