用replace方法的時候一直報錯:replace undefined
原來是傳值的時候沒有深度監(jiān)聽蕴侧,
導致replace的值是null或者undefined落追,就會報這種錯誤响禽。
順便回憶一下replace方法的使用:
replace()方法用于在字符串中用一些字符替換另一些字符,或替換一個與正則匹配的字符.
1、字符替換:
但str中只有第一個o被替換成了iii肪康,要想所有o都被替換掉該怎么辦呢
2、正則替換:
在replace方法中約定了一個特殊的字符“$”,如果加了一個序號幽告,就表示引用正則表達式中匹配的子表達式存儲的字符串梅鹦。
3、flags參數(shù)(只在火狐有效冗锁,不建議使用齐唆,了解即可):
包含的正則表達式標志的任意組合字符串: g - 全局匹配, i - 忽略大小寫冻河,m - 匹配多行箍邮。此參數(shù)僅用于如果所述第一參數(shù)是一個字符串茉帅。
例如全局替換o:
建議歸納:
1、首先使用replace方法要確保變量不能是null或undefined锭弊,可以增加一個判斷堪澎,有值的時候才去調用方法
2、其次變量不止要有值味滞,且必須是字符串類型樱蛤,可用toString()轉化成字符串類型,也要在不是null和undefined的情況下使用
3剑鞍、正則替換時昨凡,第一個參數(shù)不要加引號
4、replace方法不會改變原數(shù)據(jù)蚁署,只會輸出一個新的字符串