在Chrome42中運行如下Javascript
javascript
var str=",,,," document.write(str.replace(",",""))
運行結果:
javascript
,,,
為什麼呢?
在Chrome42中運行如下Javascript
javascript
var str=",,,," document.write(str.replace(",",""))
運行結果:
javascript
,,,
為什麼呢?
因爲 str.replace
是用正則匹配的,而 v8 不支持第一個參數是字符串時指定 flag。
所以 str.replace(',', '')
等價於 str.replace(/,/, '')
,只匹配第一個。
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答895 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
6 回答1.1k 阅读
字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。它将在 stringObject 中查找与 regexp 相匹配的子字符串,然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
参考:http://www.w3school.com.cn/jsref/jsref_replace.asp