引用语法与replace()的行为不匹配

时间:2012-01-12 20:57:00

标签: javascript

除非我假设.replace返回新字符串,否则下面的函数不起作用。语法意味着它修改了输入字符串本身。

MDN

str.replace(regexp|substr, newSubStr|function[, Non-standardflags]);

代码

escape: function ( second_split )
{
    for( element in second_split )
    {
    second_split[element] = second_split[element].replace('**', '*');
    second_split[element] = second_split[element].replace('*|', '|');
    }
return second_split;
},

1 个答案:

答案 0 :(得分:2)

来自MDN:

  

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

另外,从顶部的摘要:

  

返回一个包含...

的新字符串

所以replace返回一个新字符串。字符串是不可变的,所以做其他任何事情都没有意义。