Javascript函数参数与其他语言有所不同,其在内部是用一个数组来表示。在函数体内可以通过arguments对象来访问这个参数数组,arguments[0]访问第一个参数,arguments[i] 访问第 i 个参数。因此,函数定义时,可以不显式地使用命名参数。
<script type="text/javascript">
function doAdd(){
var result=0;
for(var i=0;i<arguments.length;i++){
result+=arguments[i];
}
return result;
}
alert(doAdd(1,3,6)); //10
alert(doAdd()); //0
alert(doAdd(2,5,6,7,3));//23
alert(doAdd('a',2)); //0a2
</script>
这个列子实现了任意个数相加(如果传入的参数中有字符串,则实现字符串连接),通过arguments对象访问传入的所有参数。