首页 > 语言 > JavaScript > 正文

javascript replace()第二个参数为函数时的参数用法

2024-05-06 15:04:01
字体:
来源:转载
供稿:网友

javascript的replace()第二个参数为函数时的参数:

replace()函数具有替换功能,它可以具有两个参数,第一个参数可以是要被替换的字符串或者匹配要被替换字符串的正则表达式,第二个参数可以是替换文本或者一个函数,下面看一下关于replace()函数的几个代码实例。
代码实例:
实例一:

<script>var str="I love jb51 and you?";console.log(str.replace("jb","java"));</script>

上面的代码只能够替换字符串中的第一个指定子字符串。
实例二:

<script>var str="I love jb51 and you?";var reg=/jb/g;console.log(str.replace(reg,"java"));</script>

上面的代码可以将字符串中的所有指定子字符串替换掉。
实例三:

<script>var str="I love jb51 and you?";console.log(str.replace("jb",function(){ return "java"}));</script>

上面的代码中,第二个参数是一个函数,可以用此函数的返回值替换字符串中指定的子字符串。当第二个参数为函数的时候,其实这个函数可以传递参数的,下面就通过代码实例介绍一下关于函数的参数问题。
代码如下:

<!DOCTYPE html><html><head><meta charset=" utf-8"><title>错新站长站</title><script type="text/javascript">var url = "//www.Vevb.com/o.php?mod=viewthread&tid=14743&extra=page%3D1";//第一参数为字符串console.group("字符串");var oneResult = url.replace("www.Vevb.com",function(){ console.log("replace输入参数:%o",arguments); var val = /www.Vevb.com/.exec(url);  console.log("exec输出参数:%o",val);               console.assert(arguments[0] === val[0]); console.assert(arguments[1] === val["index"]); console.assert(arguments[2] === val["input"]); return "jb51";});console.log("replace返回字符串:"+oneResult);console.groupEnd("字符串");    //第一参数为正则表达式console.group("正则表达式");var regexp_global = /[?&](/w+)=([^&]*)/g;var count = 0;var twoResult = url.replace(regexp_global,function(){ console.log("第"+(count++)+"次运行"); console.log("replace输入参数:%o",arguments); var val = regexp_global.exec(url); console.log("exec输出参数:%o",val);               console.assert(arguments[0] === val[0]); console.assert(arguments[1] === val[1]); console.assert(arguments[2] === val[2]); console.assert(arguments[3] === val["index"]); console.assert(arguments[4] === val["input"]); return count;});console.log("replace返回字符串:"+twoResult);console.groupEnd("正则表达式");</script></head><body> </body></html>

在上面的代码中,分别演示了replace()函数第一参数是普通字符串和正则表达式的时候,第二个函数参数传递参数的情况,下面分别做一下简单的说明:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选