最佳答案
鉴于这一功能:
function Repeater(template) {
var repeater = {
markup: template,
replace: function(pattern, value) {
this.markup = this.markup.replace(pattern, value);
}
};
return repeater;
};
如何让 this.markup.replace()
在全球范围内取代它? 这里有一个问题。如果我这样使用它:
alert(new Repeater("$TEST_ONE $TEST_ONE").replace("$TEST_ONE", "foobar").markup);
该警报的值是“ foobar $TEST _ ONE”。
如果我将 Repeater
改为以下,那么在 Chrome 中没有替换内容:
function Repeater(template) {
var repeater = {
markup: template,
replace: function(pattern, value) {
this.markup = this.markup.replace(new RegExp(pattern, "gm"), value);
}
};
return repeater;
};
警报是 $TEST_ONE $TEST_ONE
。