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

Reference syntax does not match behavior for replace()

本文关键字:不匹配 语法 replace 引用      更新时间:2023-09-26

下面的函数不起作用,除非我假设.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;
},

来自MDN:

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

此外,从顶部的摘要来看:

返回一个新字符串,其中包含。。。

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