Javascript replace() function


这是一个

简单的 replace() 问题 - 我无法让它替换下面函数中的子字符串。

function linkOnClick(){
    var anyNameYouLike = 'some sort of text/string right here';
    anyNameYouLike.replace('right','in');
    alert(anyNameYouLike)
}

它应该返回"此处的某种文本/字符串",但没有。我做错了什么? 我对Javascript相当陌生(如果它不明显的话...

anyNameYouLike = anyNameYouLike.replace('right','in');

在javascript中,字符串是不可变的(它们永远不会被修改)。 因此,.replace()函数不会修改调用它的字符串。 相反,它返回一个新字符串。 因此,如果您希望anyNameYouLike包含修改后的字符串,则必须将结果分配给它,如下所示:

anyNameYouLike = anyNameYouLike.replace('right','in');

有关更多信息,请参阅 MDN 对.replace()方法的描述,其中如下所述:

返回一个新字符串,其中模式的部分或全部匹配项替换为 一个替代品。 模式可以是字符串或正则表达式,并且 替换可以是要为每个匹配项调用的字符串或函数。

并且,在.replace()方法的描述中,它是这样说的:

此方法不会更改调用它的 String 对象。它 只需返回一个新字符串。

相关内容

最新更新