Программирование > JavaScript & JScript

str.replace - грабли

(1/1)

CGVictor:
Господа, возникла вот такая вот непонятная проблема:


--- Код: ---function parseIn(text,data) {
for(item in data) {
text = text.replace(\'{\'+item+\'}\',data[item]);
//alert(item+\'\\n\'+data[item]);
}
return text;
}
var text = \'User: {username}\';
alert(parseIn(text,{username:\'Bob\'}));
alert(parseIn(text,{username:\'Mary\'}));

--- Конец кода ---

Как результат выведет два раза данные из первого вызова, т.е. "User: Bob".
При этом, если раскомментить тестовый вывод внутри функции - он выдаст правильные данные.

Где грабли?

Такое ощущение, что replace кеширует что-то где-то...

Макс:
User: Bob
User: Mary

это FF и Opera вывели

CGVictor:
Макс
Спасибо большое!..

Протестил на лругих компах. Всё работает...

[off]Убито полдня времени.
Ушел сносить систему.[/off]

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии