Сообщение от KBEPT
|
Есть фрагмент javascript-кода:
var code_str = "func_1 = function() { alert('in'); } alert('out'); ";
eval(code_str);
|
В этом примере метод eval() получает строку строковую переменную
Здесь же, вызывает alert(), что вполне логично.
Сообщение от KBEPT
|
var code_str = "func_1 = function() { alert('in'); } \n alert('out'); ";
eval(code_str);
|
аналогично будет:
var code_str = "func_1 = function() { alert('in'); }; alert('out'); ";
eval(code_str);
А для того чтобы вызвать первую функцию ее нужно определить, а затем вызвать:
var code_str = "func_1 = function() {alert('in'); }; func_1(); alert('out'); ";
eval(code_str);
Поэтому правильней и проще всего так:
eval("(function(){alert('in')})(); alert('out')");