Ответ 1
Использовать regex /string/g
для замены всех вхождений, вы используете подстроку, которая заменит только первые события в соответствии с документацией replace() function,
var n=str.replace(/Google/g,"Yahoo");
String.prototype.replace() Метод replace() возвращает новую строку с некоторыми или всеми совпадениями шаблона, замененного заменой. Шаблон может быть строкой или RegExp, а замена может быть строкой или функцией, которая должна вызываться для каждого соответствия.
str.replace(regexp | substr, newSubStr | function)
Вы используете шаблон substr, который заменит только первое появление.
substr (pattern)
Строка, которая должна быть заменена на newSubStr. Он рассматривается как verbatim string и не интерпретируется как регулярное выражение. Только первое вхождение будет заменено.
Используйте этот regexp patter для замены всех событий.
regexp (pattern)
Объект RegExp или литерал. Матч заменяется на возвращаемое значение параметра № 2.