Главный вопрос любого начинающего программиста: "Как оформить программу и выполнить ее?". Попробуем на него ответить как можно проще, но при этом не забывая обо всех способах применения JavaScript-кода.
Во-первых, исполняет JavaScript-код браузер. В него встроен интерпретаторJavaScript. Следовательно, выполнение программы зависит от того, когда и как этот интерпретатор получает управление. Это, в свою очередь, зависит от функционального применения кода. В общем случае можно выделить четыре способа функционального применения JavaScript:
гипертекстовая ссылка (схема URL);
обработчик события (в атрибутах, отвечающих событиям);
подстановка (entity);
вставка (контейнер <SCRIPT> ).
Ниже мы рассмотрим их по очереди. В учебниках по JavaScript описание применения JavaScript обычно начинают с контейнера <SCRIPT>. Но с точки зрения понимания сути взаимодействия JavaScript и HTML это не совсем правильно, поскольку такой порядок не дает ответа на ключевой вопрос: как JavaScript-код получает управление? Другими словами, каким образом вызывается и исполняется программа, написанная на JavaScript и размещенная в HTML-документе?
В зависимости от профессии автора HTML-страницы и уровня его знакомства с основами программирования возможны несколько вариантов начала освоения JavaScript. Если вы программист классического толка (С, Fortran, Pascal и т.п.), то проще всего начинать с программирования внутри тела документа. Если вы привыкли программировать под Windows, то в этом случае начинайте с программирования обработчиков событий. Если же вы имеете только опыт HTML-разметки или давно не писали программ, то тогда лучше начать с программирования гипертекстовых переходов.
Примечание 1. Все последующие примеры Вы можете проверять на работоспособность в Вашем браузере самостоятельно. Для этого скопируйте текст примера в файл (скажем, primer.htm ); если текст примера состоит только из JavaScript-кода, то заключите его в тэги <SCRIPT> и </SCRIPT>. Получившийся файл можно просматривать в браузере.
Примечание 2. В данной вводной лекции примеры даются без разбора деталей всех использованных конструкций - воспринимайте их пока интуитивно. Последующие лекции все прояснят. Опишем лишь два важнейших оператора, встречающихся почти в каждом примере. Оператор alert(строка) выводит эту строку на экран в окне предупреждения, пример такого окна изображен на рис. 1.1. Оператор document.write(строка) записывает указанную строку в текущий HTML-документ. Например, следующие два фрагмента HTML-документа равносильны:
Схема URL (Uniform Resource Locator) - это один из основных элементов Web-технологии. Каждый информационный ресурс в Web имеет свой уникальный URL. URL указывают в атрибуте HREF контейнера A, в атрибуте SRC контейнера IMG, в атрибутеACTION контейнера FORM и т.п. Все URL подразделяются на схемы доступа, которые зависят от протокола доступа к ресурсу, например, для доступа к FTP-архиву применяется схема ftp, для доступа к Gopher-архиву - схема gopher, для отправки электронной почты - схема mailto. Тип схемы определяется по первому компоненту URL, например:
http://intuit.ru/directory/page.html
В данном случае URL начинается с http - это и есть задание схемы доступа (схемаhttp ).
Основной задачей языка программирования гипертекстовой системы является программирование гипертекстовых переходов. Это означает, что при выборе той или иной гипертекстовой ссылки вызывается программа реализации гипертекстового перехода. В Web-технологии стандартной программой, вызываемой при гипертекстовом переходе, является программа загрузки страницы (т.е. при клике по ссылке загружается страница с указанным URL). JavaScript позволяет поменять стандартную программу на программу пользователя. Для того чтобы отличить стандартный переход по протоколу HTTP от перехода, программируемого на JavaScript, разработчики языка ввели новую схему URL - JavaScript:
В данном случае текст " код_программы " обозначает программу-обработчик на JavaScript, которая вызывается при выборе гипертекстовой ссылки в первом случае и при отправке данных формы (нажатии кнопки Submit) - во втором. Например, при нажатии на гипертекстовую ссылку " Кликни здесь " можно получить окно предупреждения:
Пример 1.1. Заполнение поля при нажатии кнопки (html, txt)
В URL можно размещать сложные программы и вызовы функций. Таким образом, при программировании гипертекстового перехода JavaScript-интерпретатор получает управление после того, как пользователь "кликнул" по гипертекстовой ссылке.