爲什麼在將函數傳遞給replace
的最後一個參數時,該函數不帶括號?爲什麼函數傳遞替換不帶括號
從MDN:
function replacer(match, p1, p2, p3, offset, string){
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
return [p1, p2, p3].join(' - ');
};
newString = "abc12345#$*%".replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
而不是..? – 1252748
這是相反的,而不是傳遞一個函數的參考 –