replace() 方法仅替换一个字符串中某模式(pattern)的首个实例 replaceAll() 会返回一个新字符串,该字符串中用一个替换项替换了原字符串中所有匹配了某模式的部分。 模式可以是一个字符串或一个正则表达式,而替换项可以是一个字符串或一个应用于每个匹配项的函数。
javascript
let str = 'I belong to ES11 new API, ES11'
console.log(str.replace('ES11', 'ES12')) // I belong to ES12 new API, ES11
console.log(str.replace(/ES11/, 'ES12')) // I belong to ES12 new API, ES11
console.log(str.replace(/ES11/g, 'ES12')) // I belong to ES12 new API, ES12
console.log(str.replaceAll('ES11', 'ES12')) // I belong to ES12 new API, ES12
console.log(str.replaceAll(/ES11/g, 'ES12')) // I belong to ES12 new API, ES12
console.log(str.replaceAll(/ES11/, 'ES12'))
// Uncaught TypeError: String.prototype.replaceAll called with a non-global RegExp argument