Выполняемые сценарии
До появления операционных систем с графическим интефейсом (типа Windows) было распространено так называемое "процедурное" программиро- вание, суть которого заключается в том, что программа жестко определя- ет, когда и в какой последовательности вызываются те или иные процеду- ры, в совокупности составляющие программу. Программист должен был зара- нее разработать и реализовать алгоритм выполнения своей программы. При ее запуске она жестко следовала инструкциям вызова соответствующих про- цедур. По-иному выглядит работа приложения с графическим интерфейсом. Оно должно реагировать на действия пользователя: нажал ли он кнопку, а если нажал - то какую, хочет ли он выполнить команду какого-либо меню и т. п. В этом случае выполняемая программа на должна следовать один раз и навсегда по заданному алгоритму выполнения. Она должна иметь возмож- ность запускать на выполнение процедуры, реализующие действие, которое желает выполнить в данный момент пользователь приложения. Такая технология реализуется с помощью концепции события, кото- рое представляет собой действие пользователя (например, нажатие кнопки) или сообщение, генерируемое операционной системой (открылось закрытое окном другого приложения окно нашего приложения). В объектно ориентиро- ванных технологиях любое событие представляется объектом, обратившись к свойствам которого можно получить некоторые параметры сгенерированного события. События и сообщения тесно связаны: любое событие является при- чиной посылки некоторого сообщения операционной системе. И в тоже время некоторые сообщения операционной системы, адресованные приложению, представляются в нем в виде некоторых объектов. Таким образом, можно организовать перехват событий в приложении и написать собственную про- цедуру обработки события, выполняющую все необходимые действия, кото- рые, например, должны быть ассоциированы с нажатием некоторой кнопки графического интерфейса приложения. Объектные модели языков сценариев тесно связаны с тэгами HTML. При загрузке страницы HTML в браузер интерпретатор языка создает объек- ты со свойствами, определяемыми значениями параметров тэгов страницы. Говорят, что браузер отображает HTML-страницу в свойствах объектов, и иногда этот процесс называют отражением (reflection). Созданные объекты существуют в виде иерархической структуры, отражающей структуру самой HTML-страницы. На верхнем уровне расположен объект window, представля- ющий собой активное окно браузера. Далее вниз по иерархической лестнице следуют объекты, представляющие соответственно фрейм, непосредственно сам документ, адрес загружаемого документа, список ранее загружавшихся документов и т. д. Значения свойств объектов отражают значения соответ- ствующих параметров тэгов страницы или установленных системных парамет- ров. Для правильного использования объектных моделей следует четко понимать, как браузер компонует страницы и, тем самым, создает иерархию объектов. При загрузке страницы просматриваются сверху вниз, тем самым последовательно происходит компановка страницы и ее отображение в окне браузера. А это означает, что и объектная модель страницы также форми- руется последовательно, по мере ее обработки. Поэтому невозможно обра- титься из сценария, расположенного ранее какой-либо формы на странице, к элементам этой формы. Всегда следует помнить о том, что браузер пос- ледовательно сверху вниз интерпретирует содержимое HTML-страницы. Еще один аспект работы с объектами языков сценариев заключается в том, что нельзя изменить свойства объектов. Браузер обрабатывает страницу только один раз, компонуя и отображая ее. Поэтому попытка в сценарии изменить свойство отображенного элемента страницы обречена на провал. Только повторная загрузка страницы приведет к желаемому резуль- тату.Назад