这只是一个小问题,但是之前并没有发现。这个问题就是replace的第二个函数是支持回调函数的。
var ext = new RegExp('f','g');
1.str.replace(ext ,1);
这行代码我们知道是将str中的f替换成数字1。这个用法是众所周知的。
2.str.replace(ext,function(str1,function(a,b,c,d).
第二个参数可以是个回调函数,这个函数的第一个参数是匹配到的字符串,如果有分组,接下来的参数就是匹配到的分组。然后是匹配到的字符串的位置,最后是被匹配的字符串。