Джо Бернс
Урок 8. Иерархия объектов.

Концепция

Уфф! Сделаем паузу и посмотрим, что мы уже знаем. В JavaScript есть объекты, похожие на существительные или предметы. У объектов есть свойства, которые описывают их, как прилагательные описывают существительные. Мы пользуемся схемой oбъект.свойство.

Еще у объектов есть методы, или действия, которые можно к ним применить. После метода ставятся скобки по схеме oбъект.мeтoд(). У разных объектов разные свойства и методы.
А теперь мы узнаем самый большой секрет JavaScript, иерархию объектов. Как только вы ее поймете, cчитайте, что JavaScript у вас в кармане!

Эффект иерархии объектов

Все команды начинаются с наивысшего объекта, window (окно браузера), и идут по нисходящей. Окна и рамки (frames) принадлежат объекту window. Их не нужно перечислять, если только их не больше одного. Top, self, parent и frames — "встроенные" имена для окон. Много о них не беспокойтесь, просто знайте, что они существуют.

Вот несколько примеров. Обратите внимание на иерархию.

document.pic.src = "pic1.gif" — window не нужно ставить в самом начале. Предполагается, что это все и так внутри окна. Команда document.pic.src указывает на рисунок, которому дано имя pic. Это понятно? Документ - это страница, pic - имя элемента, а SRC - источник элемента, "pic1.gif".

document.write(location.href) — write() - это метод объекта document. Location.href показывает полный URL окна. Обратите внимание, что location и dосument находятся на одном уровне (оба выделены зеленым цветом). Это значит, что вы получаете адрес документа того же уровня.

Разбор иерархии объектов
  • Самая большая путаница в том, что некоторые объекты также являются и свойствами.
  • Window — только объект.
  • Document является свойством окна, но в свою очередь и объектом.
  • Form — это свойство документа, но также и объект со своими свойствами!
  • Value (значение) и SRC (источник) — только свойства!
  • Здесь представлены не все объекты и свойства. Однако этого достаточно, чтобы вы поняли концепцию в целом... Все команды начинаются сверху от window и идут по нисходящей. То есть, нельзя написать document.text.form или pic.src.document. Это неправильный порядок, следует писать слева направо от главного к второстепенному.
  • Важно: чтобы показать содержимое поля формы, существует свойство value (значение), например, document.form.text.value. Если вы просто напишете document.form.text, это даст информацию о поле формы, но не о его содержании!

Поле с флажком может иметь value "on" или "off". Текстовое поле может иметь value "hidden" (скрытое), если вы не хотите, чтобы пользователь его видел. Ясно?

Ваше задание

Напишите полные команды, начиная с Window, хотя обычно это не требуется. Пускай имя изображения будет mypic, имя формы myform.

  1. Форма:
  2. Содержание поля lname (фамилия):
  3. Содержание поля fname (имя):
  4. Измените название картинки на "marigold.gif":
Назад | Содержание | Вперед

Джо Бернс
Введение
Сообщения об ошибках
Дата и время
Команда onMouseOver
Еще обработчики событий
Запрос пользователю
Концепция свойств
Иерархия объектов
Создание функции
onUnload и onMouseOut
Новые окна
Новые окна (прод.)
Метод confirm
Математ. переменные
Смена картинки
Смена через функцию
Функция внутри формы
Форма и свойство value
Данные в функцию
Случайные числа
Введение в if
If и Else
Случайный выбор
Введение в FOR
Введение в WHILE
Введение в массивы
Слайд-шоу
Анимация
Подтверждение ввода