- •Xhtml 1.0 Strict
- •Xhtml 1.0 Transitional
- •Xhtml 1.0 Frameset
- •Xhtml 1.1
- •1.1Типы данных, переменные и литералы.
- •1.1.1 Преобразование типов данных.
- •1.1.2 Переменные.
- •1.1.3 Литералы.
- •1.2 Выражения и простые операторы.
- •1.2.1 Условные выражения.
- •1.2.2 Оператор присваивания.
- •1.2.3 Операторы cравнения.
- •1.2.4 Арифметические операторы.
- •1.2.5 Битовые операторы.
- •1.2.6 Логические операторы.
- •1.2.7 Строковые операторы.
- •1.2.8 Специальные операторы.
- •1.2.9 Приоритеты операторов.
- •1.3 Управляющие операторы JavaScript.
- •1.3.1 Условный оператор.
- •1.3.3 Оператор манипулирования объектами.
- •1.3.4 Комментарии.
- •1.4 Функции.
- •1.4.1 Использование функций.
- •1.4.2 Использование массива аргументов.
- •1.5.1 Объекты и свойства.
- •1.5.2 Создание новых объектов.
- •1.5.3 Использование индексов для свойств объекта.
- •1.5.4 Определение свойств объекта по умолчанию.
- •1.6 Методы.
- •1.6.1 Использование this для ссылок на объект.
- •1.6.2 Удаление объекта.
- •1.7 Встроенные объекты и их методы.
- •1.7.1 Объекты Array.
- •1.7.2 Объекты Boolean.
- •1.7.3 Объект Date.
- •1.7.4 Объект Function.
- •1.7.5 Объект Math.
- •1.7.6 Объект Number.
- •1.7.7 Объект String.
- •Variable Value
1.5.4 Определение свойств объекта по умолчанию.
Используя свойство prototype можно назначать свойства всем представителям данного типа, после этого их можно индивидуально переопределить. В следующем примере имена всех руководителей отделов (объект типа department) определяется как null, затем они могут быть изменены
department.prototype.chief=null
1.6 Методы.
Определение методов. Метод - функция, связанная с объектом. Метод определяется таким же способом, что и стандартная функция, для ассоциации с существующим объектом используется следующий синтаксис:
object.methodname = function_name
где object - существующий объект, methodname - имя, которое назначается методу, function_name - имя функции. Метод вызывается следующим образом:
Object.methodname (params);
Можно определить методы для объекта в его конструкторе, например можно определить функцию, которая выводит свойства ранее определенного объекта department:
function displayDep() {
var result = " this.name + " " + this.chief
+ " " + this.number_of_workers
show_props (result)
}
где show_props - функция из раздела “Функции” Можно включить эту функцию в качестве метода department, добавив в конструктор строку
this.displayDep = displayDep;
То есть полное определение объекта department будет выглядеть так:
function department(name, chief, number_of_workers, collab) {
this.name = name
this.chief = chief
this.number_of_workers = number_of_workers
this.collab =collab
this.displayDep = displayDep
}
Тогда вызов метода displayDep для конкретных экземпляров выполняется следующим образом :
ourdep.displayDep()
iu6dep.displayDep()
1.6.1 Использование this для ссылок на объект.
JavaScript имеет специальное ключевое слово this, которое можно использовать в пределах метода по отношению к текущему объекту. Например, предположим, что имеем функцию, названную validate, которая проверяет значение объекта на нахождение его в заданных пределах, если значение объекта не входит в указанные пределы, выводится аварийный бокс:
function validate(obj, lowval, hival) {
if ((obj.value < lowval) || (obj.value > hival))
alert("Invalid Value!")
}
Теперь можно вызвать validate в обработчике событий (см.далее) onChange при заполнении формы:
<INPUT TYPE = "text" NAME = "age" SIZE = 3 onChange="validate(this, 18, 99)">
Здесь this относится к вызывающему объекту. При комбинировании со свойствами формы this может относиться к текущей форме родительского объекта. В следующем примере форма myForm содержит объекты text и button. Когда пользователь нажимает кнопку, значение объекта text устанавливается равным имени формы. Обработчик событий onClick использует this.form для ссылки на родительскую форму myForm.
<FORM NAME="myForm">
Form name:<INPUT TYPE="text" NAME="text1" VALUE="Moscow">
<P> <INPUT NAME="button1" TYPE="button" VALUE="Show Form Name" onClick="this.form.text1.value=this.form.name"> </FORM>
1.6.2 Удаление объекта.
В JavaScript для Navigator 2.0 нельзя удалять объекты - они существуют, пока вы не покинете страницу, содержащую объект. В JavaScript для Navigator 3.0, можно удалять объекты, устанавливая ссылку на пустой указатель (если это - последняя ссылка на объект) в этом случае объект удаляется немедленно.