这是一个简单的替换()的问题 - 我不能让它工作,以取代在下面的功能的子字符串。
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对象。 它只是返回一个新字符串。