Синтаксис
Аргументы
- codeStr
- код для выполнения, может использовать переменные и свойства существующих объектов
Описание, примеры
Метод eval возвращает значение последнего вычисленного выражения.
var str = "if (a) { 1+1 } else { 1+2 }" |
Если аргумент eval
— не строка, то возвращается аргумент без изменения:
Можно обойти это прямым вызовом toString
:
function forceEval(obj) { |
return eval(obj.toString()) |
Не используйте eval
Выполнение кода в eval может быть небезопасно. При таком выполнении затруднена отладка. В современном javascript, как правило, можно воспользоваться другими языковыми средствами вместо eval
.
eval для JSON
Как правило, eval
используют для разбора формата JSON.
Второй параметр
В старых реализациях javascript у eval
мог быть второй параметр — объект obj
, в контексте которого выполнялся код.
В современном javascript для этого используется with
: