arguments对象代表正在执行的函数和调用它的参数。函数对象的length属性说明函数定义时指定的参数个数,arguments对象的length属性说明调用函数时实际传递的参数个数,arguments对象不能显示创建,函数在被调用时由JavaScript运行时环境创建并设定各个属性值,其中包括各上参数的值。通常使用arguments对象来验证所传递的参数是否符合函数要求,例子如下:
使用arguments对象验证函数的参数是否合法:
<script language="javascript"> //脚本程序开始
function sum(arg1,arg2) //加法函数
{
var realArgCount=arguments.length; //调用函数时传递的实参个数
var frmArgCount=sum.length; //函数定义时的形参个数
if(realArgCount<frmArgCount) //如果实际参数个数少于形参个数
{
var e=new Error( ); //定义错误信息,然后抛出
e.number=100001; //错误编号
e.message="实际参数个数不符合要求!"; //错误信息
throw e; //抛出异常
}
return arguments[0]+argments[1]; //参数符合要求则从arguments对象中
//提取实参并返回两者的和
}
try
{
document.write("<p><h1>arguments对象测试</h1></p>"); //输出标题
document.write("正确调用的结果:“+sum(10,20); //输出正确调用的结果
document.write("<br>不符合要求的调用结果:”); //人为引发一个不符合
//规则的调用方式
document.write(sum(10));
}
catch(e) //捕捉错误
{
alert(e.number+"错误号:“+e.message); //输出错误信息
}
</script> //脚本程序结束