JS 关于replace第二个参数是函数

来源:互联网 发布:淘宝店铺设置最低折扣 编辑:程序博客网 时间:2024/05/01 22:26
replace()当第一个参数为正则表达式,第二个参数为函数的时候

var tpl 'Hei, my name is <%name%>, and I\'m <%age%> years old.';
var data = {
    "name""Barret Lee",
    "age""20"
};
var result tpl.replace(/<%([^%>]+)?%>/gfunction(s0, s1,s2,s3,s4){
    console.log([s0,s1,s2,s3,s4 ]);
    return data[s1];
});





传递给函数的第一个参数为正则匹配结果,如果正则表达式有括号第二个参数则是括号内容,接下来开始匹配位置,然后再是整个字符串,若函数还有多余参数则是undefined。

0 0
原创粉丝点击