Объекты и события
Язык JavaScript, подобно большинству современных языков программирования (предназначенных для создания Windows-приложений), является по своей идеологии «объектно-событийным». Это означает, что создаваемое приложение (в нашем случае таковым является загруженная в окно браузера Web-страница) рассматривается как иерархическая совокупность обособленных объектов, каждому из которых присвоено собственное имя и определенный набор параметров (свойств), значения которых можно считывать в назначенные для этого переменные для использования в программе. А во многих случаях и программно изменять, меняя тем самым состояние самого объекта на экране.
Типичным примером является страница, содержащая в себе форму с флажком: здесь главным является объект «окно браузера» (window); в нем в качестве вложенного объекта рассматривается его содержимое — HTML-документ (document); в него вложена, среди прочих объектов (поименованных абзацев, гиперссылок, других форм и т.п.) наша форма, в которую, в свою очередь, вложен флажок, и он имеет среди прочих свойств значение (value). В этом случае для доступа к значению одного из пунктов списка потребуется записать всю иерархию вложений через десятичную точку, например:
х = window.document.MyForm.MyCheckbox.value
Когда речь идет о содержимом того же самого документа, в котором содержится скрипт, слово window можно опустить, если только речь не идет о свойствах или объектах окна, а не документа. В последнем случае, важно обратить внимание на то, что «с точки зрения» JavaScript окно браузера, содержащее Web-страницу, и сама эта страница, рассматриваются как разные объекты. Если нам нужно работать с параметрами окна (его размерами, выводом линеек прокрутки и пр.), то необходимо указывать в качестве объекта window, если же с параметрами именно самой Web-страницы (как единого целого либо ее отдельных составляющих), то речь должна идти уже об объекте document.
Имена объектов обычно указываются в составе определяющих их тэгов (параметр NAME, например, для форм и их элементов, фреймов и пр., или параметр ID, добавляемый, в частности, в состав тэга <Р>, чтобы выделить соответствующий абзац текста как отдельный объект). Объекты с именем, указанным в качестве значения параметра NAME, обычно считаются типичными для HTML и в строке достаточно указать их имена; если же имя указывается в качестве значения параметра ID, то обращение к таким объектам производится через запись all («все содержимое документа»), например:
х = document.all.myparag.<свойство>
для доступа к указанному свойству абзаца, в состав тэга <Р> которого включен параметр ID=”myparag”. Аналогично, через document .all обращение производится и к поименованным (параметр NAME), но не заключенным