<script language="javascript">
function test()
{
alert("参数个数:"+arguments.length);
alert("每一个参数的值:"+arguments[0]);
alert("第二个参数的值"+arguments[1]);
//可以用for循环读取所有的参数
}
test("aa","bb","cc");
</script>
看懂上面的程序之后,我们再来看下面一个有趣的程序
<script language="javascript">
var reg=new RegExp("d","g");
var str="abd1afa4sdf";
str.replace(reg,function(){alert(arguments.length);});
</script>
我们惊奇的发现,匿名函数竟然被执行了二次,并且在函数里还带有三个参数,为什么会执行二次呢??这个很容易想到,因为我们写的正则表达式是匹配单个数字的,而被检测的字符串刚好也有二个数字,故匿名函数被执行了二次。。在匿名函数内部的那三个参数到底是什么内容呢??为了弄清这个问题,我们看下面的代码。
<script language="javascript">
function test()
{
for(var i=0;i<arguments.length;i++)
{
alert("第"+(i+1)+"个参数的值:"+arguments[i]);
}
}
var reg=new RegExp("d","g");
var str="abd1afa4sdf";
str.replace(reg,test);
</script>