Основы подхода к программированию на JavaScript
Идея JavaScript очень проста. Все операции, которые можно исполнять
в программе на JavaScript, описывают действия над хорошо известными и понятными
объектами, которыми являются элементы рабочей области программы Netscape
Navigator и контейнеры языка HTML. Собственно объектная ориентированность
JavaScript на этом и кончается. Никаких классов объектов, а тем более,
наследования в JavaScript нет. Есть только объекты с набором свойств и
набор функций над объектами, которые называются методами. Кроме методов
существуют и другие функции, больше похожие на функции из традиционных
языков программирования, которые позволяют работать со стандартными математическими
типами или управлять процессом выполнения программы. Еще в JavaScript есть
события - аналог программных прерываний. Эти события также ориентированы
на работу в World Wide Web, например загрузка страницы в рабочую область
Navigator или выбор гипертекстовой ссылки. Используя события, автор гипертекстовой
страницы и программы, ее отображающей, может организовать просмотр динамических
объектов, например бегущей строки, или управление многооконным интерфейсом.
Для встраивания скриптов в тело HTML-документа используется контейнер
SCRIPT. Не все браузеры способны распознавать и исполнять скрипты, поэтому
само тело скрипта помещается в контейнер комментария. Рассмотрим .
В этом примере в заголовок документа (контейнер HEAD) включен
контейнер SCRIPT. До недавнего времени атрибут LANGUAGE в
этом контейнере не являлся обязательным. Но с момента выхода VBSCRIPT появился
смысл в указании типа языка - Navigator не понимает скриптов на других
языках. Отсутствие атрибута может привести к ошибкам при отображении гипертекстовых
страниц.
Далее, в тексте страницы определен комментарий, в который включен текст
скрипта. Начинается комментарий со строки:
<!- The JavaScript Function Definition
И кончается строкой:
// The end of JavaScript Functions Definition ->
Внутри контейнера SCRIPT определены две функции пользователя: help_win()
и main_menu(). Смысл этих функций достаточно прозрачен. Help_win()
предназначена для организации контекстно зависимого help, а main_menu()
осуществляет допуск пользователя к главному меню Website. Обе функции используют
один и тот же метод open (встроенную в JavaScript функцию, которая
определена над объектом window) для того, чтобы открыть новое окно Netscape
Navigator и загрузить в него гипертекстовые документы. При этом функция
main_menu порождает стандартное окно (с кнопочками, иконками и т.п.), а
функция help_win() - окно без стандартных атрибутов. У этого окна имеются
только линейки прокрутки (scroll bars).
Вызов функций осуществляется после нажатия на соответствующие кнопки,
которые определены в HTML-форме help_call. Таким образом, функции
будут выполняться только в том случае, если произойдет событие, описанное
атрибутом onClick в контейнере INPUT соответствующего поля
формы.
Если быть более точным, то приведенный пример - это фрагмент, реализующий
регистрацию пользователя. К моменту его выполнения окно главного меню уже
открыто, поэтому при выборе кнопки NEXT окно не создается, а текст загружается
в уже открытое окно.