Войти

Показать полную графическую версию : JavaScript | replace


Vlad Drakula
21-08-2006, 16:03
только что обнаружил одну особенность JS
вот к примеру код:



var tabTitle = "Task: {task_title}";
alert(tabTitle + '\n' +
tabTitle.replace(/\{([^\{]+)\}/g, "$1") + '\n' +
tabTitle.replace(/\{([^\{]+)\}/g, function($1, $2){return $1;}))



выдает следующее:
Task: {task_title}
Task: task_title
Task: {task_title}

Prisoner
22-08-2006, 01:34
А что именно Вы называете особенностью? То, что в случае callback функции обратных связей ($n) три и отсчет идет от еденицы? Кстати, такой код - источник memory leak в IE вследствие применения анонимных функций. Причем в случае модификатора g таких функций будет создано столько сколько найдется подстрок соотвествующих паттерну...

Vlad Drakula
24-08-2006, 21:27
Prisoner
То, что в случае callback функции обратных связей ($n) три и отсчет идет от еденицы?
да. именно так.

Кстати, такой код - источник memory leak в IE вследствие применения анонимных функций. Причем в случае модификатора g таких функций будет создано столько сколько найдется подстрок соотвествующих паттерну...
и это тоже знаю... но начальство вроде как обрадовало тем что можно будет отказаться от поддержки IE6 после выхода IE7

Prisoner
25-08-2006, 13:22
Да, начальство надо ублажать :)

E-mail
26-08-2006, 09:43
начальство надо ублажать
начальство надо обучать:) и потом по идее всем хорошо будет..




© OSzone.net 2001-2012