Первое утверждение в коде выше рассматривается как ошибочное JavaScript. Строка переменной в аргументе Переменная, значение которого является строка буквальное не могут быть использованы в качестве аргумента функции Eval () в обычном смысле. Следующий сценарий не работает, потому что компиляция заканчивается в строке функции Eval: Выражение в кавычках Давайте попробуем что-то здесь. Пусть аргумент функции Eval () будет строка, содержание которого является строка переменной. Следующий сценарий работает без каких-либо проблем. В первой строке сценария объявляет строковую переменную.
Во второй строке, в качестве аргумента функции Eval (), это переменная, которая в кавычки; это не строка символов. Так, для Eval аргумента, у вас есть строка, содержание которого переменная, а не строка буквальное. Функция Eval возвращает значение переменной. Последнее утверждение показывает строка символов. Здесь мы видели, что положить переменную в кавычки, в качестве аргумента в функции Eval не создать сообщение об ошибке. И, что является тайной. Правда, положить выражение в кавычки, в качестве аргумента в функцию Eval (), не вызовет ошибку.
На самом деле, когда вы делаете это, то функция Eval () оценивает то, что в кавычках и возвращается все, что должен был быть возвращен. Если выражение в котировках Eval функция вычисляет выражение. Если есть что-нибудь, чтобы вернуться, то она возвращает его. Если нет ничего, чтобы вернуть его возвращает выражение в исполняемой форме. То есть, как функция ведет себя Eval. Выражение возвращается, остается в положении функции Eval. Характеры выражения возвращается не может быть видно, но они есть, и выражение можно получить по заявлениям ниже него.
Давайте посмотрим на примеры, которые более с участием. Несколько выражений Рассмотрим следующие выражения: Alert ("один"); Alert ("два"); Alert ("три"); Предположим, что эти три последовательных заявления в сценарии. При выполнении сценария, первое утверждение оповещения будет