Базовая функция | |
Реализовано в | Navigator 2.0 |
Синтаксис
eval(string)
Параметры
string | Строка, представляющая выражение JavaScript, инструкцию или последовательность инструкций. Выражение может включать переменные и свойства существующих объектов. |
Описание
Параметр функции eval
это строка. Если строка представляет выражение, eval
оценивает выражение. Если параметр представляет одну или большее количество инструкций JavaScript, eval
выполняет инструкции. Не вызывайте eval
, чтобы оценить арифметическое выражение; JavaScript оценивает арифметические выражения автоматически.
eval
также метод всех объектов. Этот метод описан для класса Object
.
Примеры
Следующие примеры отображают вывод, используя document.write
. В server-side JavaScript, Вы можете отображать тот же самый вывод, вызывая функцию write
вместо того, чтобы использовать document.write
.
var x = 2
Пример 2. В следующем примере, функция
var y = 39
var z = "42"
document.write(eval("x + y + 1"), "<BR>")
document.write(eval(z), "<BR>")getFieldName(n)
возвращает имя определенного элемента формы как строку. Первое выражение присваивает строковое значение третьего элемента формы переменной field
. Второе выражение использует eval
, чтобы отобразить значение элемента формы.
var field = getFieldName(3)
Пример 3. Следующий пример использует
document.write("Поле с именем ", field, " имеет значение ",
eval(field + ".value"))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; "
Пример 4. В следующем примере, функция
document.write("<P>z равно ", eval(str))setValue
использует eval
, чтобы присвоить значение переменной newValue
текстовому полю textObject
:
function setValue (textObject, newValue) {
Пример 5. Следующий пример создает
eval ("document.forms[0]." + textObject + ".value") = newValue
}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
Все мессаги сюда:yanich@inbox.ru |