replace方法

用replace方法的时候一直报错:replace undefined

原来是传值的时候没有深度监听,

导致replace的值是null或者undefined,就会报这种错误。

顺便回忆一下replace方法的使用:

replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则匹配的字符.

1、字符替换:


但str中只有第一个o被替换成了iii,要想所有o都被替换掉该怎么办呢

2、正则替换:


在replace方法中约定了一个特殊的字符“$”,如果加了一个序号,就表示引用正则表达式中匹配的子表达式存储的字符串。


3、flags参数(只在火狐有效,不建议使用,了解即可):

包含的正则表达式标志的任意组合字符串: g - 全局匹配, i - 忽略大小写,m - 匹配多行。此参数仅用于如果所述第一参数是一个字符串。

例如全局替换o:


建议归纳:

1、首先使用replace方法要确保变量不能是null或undefined,可以增加一个判断,有值的时候才去调用方法

2、其次变量不止要有值,且必须是字符串类型,可用toString()转化成字符串类型,也要在不是null和undefined的情况下使用


3、正则替换时,第一个参数不要加引号

4、replace方法不会改变原数据,只会输出一个新的字符串

你可能感兴趣的:(replace方法)