【发布时间】:2011-01-29 05:57:35
【问题描述】:
在 JavaScript 中,您可以在正则表达式字符串替换操作中定义回调处理程序:
str.replace(/str[123]|etc/, replaceCallback);
假设您有一个字符串和替换的查找对象。
var lookup = {"str1": "repl1", "str2": "repl2", "str3": "repl3", "etc": "etc" };
还有这个回调函数:
var replaceCallback = function(match) {
if (lookup[match])
return lookup[match];
else
return match;
}
您如何评估上述回调的表现?有没有可靠的方法来改进它?会
if (match in lookup) //....
甚至
return lookup[match] || match;
给 JS 编译器带来了优化的机会,还是一回事?
【问题讨论】:
标签: javascript regex performance optimization