Учитывая эту функцию:
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.
