是否有更好的方法来进行多个JavaScript替换调用而不是逐个执行?

时间:2013-02-08 06:45:34

标签: javascript jquery string performance replace

我正在Javascript中构建一个包含HTML的字符串。

现在,我正在做这样的事情:

var filter = "";
filter = util.getTemplate( "tmp_filter", temps );
filter = filter.replace( 'id="tmp_filter"','');
if (dyn.table.i18n) {
    filter = filter.replace(util.regex.re_text, dyn.filter.clear_tx);
} else {
    filter = filter.replace('data-i18n="[title]tmp_text"', 'title="'+dyn.filter.clear_tx+'" ');
    filter = filter.replace('data-i18n="tmp_text">','>'+dyn.filter.clear_tx);
}
filter = filter.replace(util.regex.re_theme, dyn.filter.theme);
filter = filter.replace(util.regex.re_icon, dyn.filter.icon);
filter = filter.replace(util.regex.re_iconpos, dyn.filter.iconpos);
filter = filter.replace('class="ui-listview-filter ', 'class="ui-listview-filter '+ dyn.custom_classes[0]+' ');

其中提取模板并使用dyn中指定的数据替换所有占位符。

虽然这样做有效,但却有很多替换电话。在SQL中,我可以嵌套替换这样的调用

SELECT LEN(REPLACE(REPLACE(address, ' CA', ''), ' NY', '')) FROM Tbl

问题:
Javascript中有更好的方法可以进行多个replace调用吗?我不介意代码的长度,但我对filter = filter.replace有点不安。只是想知道是否有更好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以链接所有替换