JavaScript的replace方法与正则表达式结合应用讲解
2010-09-14 13:05:42 来源:WEB开发网当我们要把查找到的字符进行运算的时候,怎么样实现呢??在实现之前,我们先讲一下怎么样获取某一个函数的参数。。在函数Function的内部,有一个arguments集合,这个集合存储了当前函数的所有参数,通过arguments可以获取到函数的所有参数,为了大家理解,请看下面的代码
<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>
Tags:JavaScript replace 方法
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接