ECMAScript函数不介意传递进来多少个参数,也不在乎传递进来的参数是什么数据类型,为什么?
ECMAScript中的参数在内部是用一个数组来表示的。
函数接收到的始终是这个数组,不关心数组里是否有元素或者有多少个元素。
在函数内部可以通过arguments
对象来访问这个参数数组。
arguments
和数组类似但并不是Array
的实例。
它可以用数组的方括号语法访问它的每个元素,也可以用length
获取传进来的参数个数。
arguments
的length
是由调用函数时传进来的参数个数决定,而不是你定义函数时的命名参数的个数决定。