Клиентский JavaScript. Справочник

         

eval это функция верхнего уровня,


eval это функция верхнего уровня, не ассоциированная с каким-либо объектом.
Аргументом функции eval является строка. Если строка представляет выражение, eval вычисляет выражение. Если аргумент представляет собой один или более операторов JavaScript, eval выполняет эти операторы. Не вызывайте eval для вычисления арифметических выражений; JavaScript вычисляет арифметические выражения автоматически.
Если Вы конструируете арифметическое выражение как строку, Вы можете в дальнейшем использовать eval для его вычисления. Например, предположим, у Вас имеется переменная x. Вы можете отсрочить вычисление выражения, включающего x, присвоив строковое значение выражения, скажем, "3 * x + 2", переменной и вызвав eval в скрипте позднее.
Если аргументом eval не является строка, eval возвращает the аргумент без изменений. В следующем примере специфицируется String-конструктор, и eval возвращает String-объект вместо вычисления строки.
eval(new String("2+2")) // возвращает String-объект, содержащий "2+2"
eval("2+2")             // возвращает 4 Вы не должны использовать неявные вызовы функции eval по имени, отличному от eval. Например, Вы не должны использовать такой код:
var x = 2
var y = 4
var myEval = eval
myEval("x + y")

Содержание раздела