鑑於這一功能:JavaScript的替換/正則表達式
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
。
但替換()接收的正則表達式作爲變量。 – core 2009-07-22 01:05:38
小修正 - `$`表示正則表達式中的行尾。 – harto 2009-07-22 01:12:19