Здравствуйте.
У меня вопрос следующего характера.
Есть фрагмент javascript-кода:
var code_str = "func_1 = function() { alert('in'); } alert('out'); ";
eval(code_str);
Поскольку, я нигде функцию func_1 не вызываю, то после запуска кода должно выдать alert('out'). Но сообщения не показывается.
Но если разделить функцию func_1 и alert символом перехода на новую строку, то все великолепно работает, то есть:
var code_str = "func_1 = function() { alert('in'); } \n alert('out'); ";
eval(code_str);
Получается, что функция eval() обрабатывает построчно? Или я не правильно понимаю(
Если кто-то может дать ссылку на ресурс, где можно прочитать о всех тонкостях eval() или объяснить, как правильно обрабатывать любого размера javascript-код посредством eval() ?
Заранее спасибо большое.
Забыл уточнить. Пока делаю только для браузера Opera. Кроссбраузерность потом
Спасибо.