ECMAScript 中的参数与其他大多数语言中函数的参数有所不同,向 ECMAScript 中传参可以为任意多个,并且ECMAScript 没有限制传入参数的数据类型。这样做的原因是 ECMAScript 中的参数在内部是用一个数组来表示的。函数接收到的始终是数组,而不去关心数组内有哪些参数。
调用参数时,可以通过 arguments 对象来访问参数数组。arguments[0] 代表第一个参数,arguments[1] 代表第二个参数。同时可以通过 arguments.length 来返回参数个数。
例如:
function firefly(){
alert("Hello, " + arguments[0] + arguments[1]);
}
firefly("Pluto", " Zhang");
调用 firefly() 函数后,会弹出对话框 Hello, Pluto Zhang
另外一个比较常用的例子是通过 arguments.length 来获取传入参数的个数。
例如:
function valueCount(){
alert(arguments.length);
}
valueCount(1,2); // 输出 2
valueCount("good"); // 输出 1
valueCount(""); // 输出 1
valueCount(); // 输出 0
最后需要注意的是:在 ECMAScript 中的所有参数传递的都是值,不会通过引用来传递参数。