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



              

Примеры


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

Пример 1. В этом коде оба оператора, содержащие eval, возвращают 42. Первый вычисляет строку "x + y + 1"; второй вычисляет строку "42".

var x = 2
var y = 39
var z = "42"
eval("x + y + 1") // возвращает 42
eval(z) // возвращает 42

Пример 2. В следующем примере функция getFieldName(n) возвращает имя специфицированного элемента формы как строку. Первый оператор присваивает строковое значение третьего элемента формы переменной field. Второй оператор использует eval для отображения значения элемента формы.

var field = getFieldName(3)
document.write("The field named ", field, " has value of ",
   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 is ", 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'))









Содержание    Назад    Вперед