逗号运算符作为回报



我正在从一页阅读JS,这就是我发现的(源代码被谷歌Chrome开发工具混淆了):

var db = function(a) {
    return a.replace(/[^ws.|`]/g, 
    function(b) {
        return "\" + b
    })
};

第一个逗号运算符操作数(a.replace()操作数)有什么技巧吗?

在我看来,a.replace(/[^ws.|``]/g,部分是完全多余的,可以删除。

我错过了什么吗?

它不是逗号运算符,而是调用.replace的简单参数列表 - 请注意括号。

你的去混淆器最好像这样缩进它:

return a.replace(/[^ws.|`]/g, function(b) {
    return "\" + b;
});

顺便说一句,该函数可以用简单的字符串"\$&"代替。

没有逗号运算符。

请参阅有关替换的文档

newstring = str.replace(regexp, function);

格式不佳使其难以阅读。

它基本上在做

a.replace(/([^ws.|`])/g, "\$1");

相关内容

  • 没有找到相关文章

最新更新