JavaScript函数参数理解
参见《JS高级程序设计》
ECMAScript函数不介意传递进来多少参数,也不在乎传进来的参数是什么类型。即使你定义只接收两个参数,在调用这个函数时也未必要传递两个参数,传递一个或三个甚至不传递参数也可以。
原理:ECMAScript中的参数在内部是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中有哪些参数。在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
注意:其实,arguments对象只是与数组类似(它并不是Array实例),可以使用方括号语法访问它的每一个元素(即第一个元素是 arguments[0] ,第二个元素是 arguments[1] ,以此类推),它使用 length 属性来确定传递进来多少个参数。
代码示例:
function sum(num1, num2){
var total = num1 + num2;
alert(arguments[0] + "+" + arguments[1] + " = " + total);
}
sum(555,111);
//弹出 555 + 111 = 666
复制代码