Javascript: replace all

В Javascript есть метод replace, но заменяет он только первое вхождение искомой строки, а для замены всех вхождений есть странный синтаксис:

   str = str.replace('find','replace') // замена только первого вхождения
   str = str.replace(/find/g,”replace”) // аналог replaceAll или просто привычное поведение функции

Для удобства работы создадим свою функцию replaceAll

Теперь будет заменяться не первое вхождение, а все вхождения искомого в строке поиска.

function replaceAll(txt, replace, with_this) {
return txt.replace(new RegExp(replace, 'g'),with_this);
}

Теперь вместо:

var str = 'hello world, hello world, hello world';
alert(str.replace('world', 'vasya'));

Используем:

var str = 'hello world, hello world, hello world';
alert(replaceAll(str, 'world', 'vasya'));

Источники:
http://www.apollon.in.ua/blog/343
http://www.it-rem.ru/javascript-replaceall.html