[Содержание] [Предыдущая] [Следующая] [Индекс]

eval

Оценивает строку кода JavaScript независимо от специфического объекта.

Базовая функция
Реализовано в Navigator 2.0

Синтаксис

eval(string)

Параметры

string
Строка, представляющая выражение JavaScript, инструкцию или последовательность инструкций. Выражение может включать переменные и свойства существующих объектов.

Описание

Параметр функции eval это строка. Если строка представляет выражение, eval оценивает выражение. Если параметр представляет одну или большее количество инструкций JavaScript, eval выполняет инструкции. Не вызывайте eval, чтобы оценить арифметическое выражение; JavaScript оценивает арифметические выражения автоматически.

Если Вы создаете арифметическое выражение как строку, Вы можете использовать eval, чтобы оценить его в более позднее время. Например, предположим, что Вы имеете переменную x. Вы можете откладывать оценку выражения, включающего x, присваивая строковое значение выражения, говоря "3 * x + 2", переменной, и затем вызывая eval в более поздней точке в Вашем сценарии.

eval также метод всех объектов. Этот метод описан для класса Object.

Примеры

Следующие примеры отображают вывод, используя document.write. В server-side JavaScript, Вы можете отображать тот же самый вывод, вызывая функцию write вместо того, чтобы использовать document.write.

Пример 1. Оба выражения write отображают ниже 42. Первое оценивает строку "x + y + 1"; второе оценивает строку "42".

var x = 2
var y = 39
var z = "42"
document.write(eval("x + y + 1"), "<BR>")
document.write(eval(z), "<BR>")
Пример 2. В следующем примере, функция getFieldName(n) возвращает имя определенного элемента формы как строку. Первое выражение присваивает строковое значение третьего элемента формы переменной field. Второе выражение использует eval, чтобы отобразить значение элемента формы.

var field = getFieldName(3) 
document.write("Поле с именем ", field, " имеет значение ",
   eval(field + ".value"))
Пример 3. Следующий пример использует eval, чтобы оценить строку str. Эта строка состоит из инструкций JavaScript, которые открывают диалоговое окно Alert и присваивают z значение 42, если x равно пяти, а иначе присваивают переменной z 0. Когда второе выражение выполнено, eval заставит эти инструкции выполняться, и также оценит набор инструкций и возвратит значение, которое присвоено z.

var str = "if (x == 5) {alert('z is 42'); z = 42;} else z = 0; "
document.write("<P>z равно ", eval(str))
Пример 4. В следующем примере, функция setValue использует eval, чтобы присвоить значение переменной newValue текстовому полю textObject:

function setValue (textObject, newValue) {
   eval ("document.forms[0]." + textObject + ".value") = newValue
}
Пример 5. Следующий пример создает breed, как свойство объекта myDog, а также как переменную. Первое выражение write использует eval('breed') без определения объекта; строка "breed" оценена без отношения к любому объекту, и метод write показывает "Shepherd", которое является значением переменной breed. Второе выражение write использует myDog.eval('breed'), которое определяет объект myDog; строка "breed" оценена относительно объекта myDog, и метод write отображает "Lab", которое является значением свойства breed объекта myDog.

function Dog(name,breed,color) {
   this.name=name
   this.breed=breed
   this.color=color
}
myDog = new Dog("Gabby")
myDog.breed="Lab"
var breed='Shepherd'
document.write("<P>" + eval('breed'))
document.write("<BR>" + myDog.eval('breed'))

Смотрите также

Метод Object.eval


[Содержание] [Предыдущая] [Следующая] [Индекс]

Последняя Модификация: 10/31/97 16:38:00


Права © 1997 Netscape Communications Corporation



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz