/** 用于 一次性批量替换文本中多个匹配规则的字符 测试使用长度为1M的文本 **/ //1 Ext.Ajax.request({ url : 'data.json', success : function (res) { var t = res.responseText; console.log(t.length); var d = (new Date).getTime(); t = t.replace(/\./g, 'A').replace(/\;/g, 'B').replace(/\-/g, 'C').replace(/\,/g, 'D'); var d1 = (new Date).getTime(); console.log(d1 - d); }); // output: 997920 757 //2 Ext.Ajax.request({ url : 'data.json', success : function (res) { var t = res.responseText; console.log(t.length); var d = (new Date).getTime(); var o = {}; o['.'] = 'A'; o[';'] = 'B'; o['-'] = 'C'; o[','] = 'D'; var reg = (function () { var a = []; for (var p in o) { a.push(p); } return RegExp(a.join('|')); })(); t = t.replace(reg, function (match, s) { return o[match]; }); var d1 = (new Date).getTime(); console.log(d1 - d); } }); // output : 997920 229