這只是一個小問題,但是之前並沒有發現。這個問題就是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).
第二個參數可以是個回調函數,這個函數的第一個參數是匹配到的字符串,如果有分組,接下來的參數就是匹配到的分組。然后是匹配到的字符串的位置,最后是被匹配的字符串。