Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа 3 - JavaScript.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
285.18 Кб
Скачать

1.12Внутренние функции

В JavaScript функции можно объявлять внутри других функций. Очень важным аспектом является то, что внутренние функции имеют доступ к локальным переменным, определенным в родительской функции:

function betterExampleNeeded() {

var a = 1;

function oneMoreThanA() {

return a + 1;

}

return oneMoreThanA();

}

Это позволяет не засорять глобальный контекст ( scope ) именами функций, которые нужны для решения частных проблем в одной части кода. А также разделять переменные между разными вложенными функциями, не пользуясь глобальным пространством имен.

1.13Встраивание в веб-страницы

Для добавления JavaScript -кода на страницу, можно использовать теги <script></script>. Скрипт, выводящий модальное окно с классической надписью "Hello, World!" внутри браузера:

<script type="text/javascript">

alert('Hello, World!');

</script>

1.14Расположение внутри тега

Спецификация HTML описывает набор атрибутов, используемых для задания обработчиков событий. Пример использования:

<a href="delete.php" onclick="return confirm('Вы уверены?');">Удалить</a>

1.15Отделение от разметки

В приведенном примере при нажатии на ссылку функция confirm('Вы уверены?') ; вызывает модальное окно с надписью "Вы уверены?", а return false; блокирует переход по ссылке. Разумеется, этот код будет работать, только если в браузере есть и включена поддержка JavaScript, иначе переход по ссылке произойдет без предупреждения.

Использование кода JavaScript в контексте разметки страницы в рамках ненавязчивого JavaScript расценивается как плохая практика. Аналогом (при условии снабжения ссылки идентификатором alertLink ):

<a href="delete.aspx" id="alertLink">Удалить</a>

приведенного примера может выступать, например, следующий фрагмент JavaScript:

window.onload = function() {

var linkWithAlert = document.getElementById("alertLink");

linkWithAlert.onclick = function() {

return confirm('Вы уверены?');

};

};

1.16Вынесение в отдельный файл

Есть и третья возможность подключения JavaScript – написать скрипт в отдельном файле, а потом подключить его с помощью конструкции:

<script type="text/javascript" src="http://Путь_к_файлу_со_скриптом"></script>

1.17Атрибуты тега script

Тег script, широко используемый для подключения к странице JavaScript, имеет несколько атрибутов.

  • обязательный атрибут type для указания MIME-типа содержимого; необязательный атрибут src, принимающий в качестве значения адрес к файлу со скриптом;

  • необязательный атрибут charset, используемый вместе с src для указания используемой кодировки внешнего файла;

  • необязательный атрибут defer, используемый для того, чтобы показать, что скрипт не генерирует никакого содержимого (что означает, в частности, то, что в этом скрипте отсутствует вызов document.write() ).

При этом атрибут language (language="JavaScript"), несмотря на его активное использование, относится к не рекомендуемым (deprecated), отсутствует в DTD, поэтому считается некорректным.

1.18Область применения

    1. Веб-приложения

JavaScript используется в клиентской части веб-приложений. Обмен информацией в Веб-приложениях происходит по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому Веб-приложения являются межплатформенными сервисами.

    1. AJAX

JavaScript используется в AJAX, популярном подходе к построению интерактивных пользовательских интерфейсов Веб-приложений, заключающемся в "фоновом" асинхронном обмене данными браузера с Веб-сервером. В результате, при обновлении данных Веб-страница не перезагружается полностью и интерфейс Веб-приложения становится быстрее, чем это происходит при традиционном подходе (без применения AJAX).

    1. Comet

Comet – термин, описывающий механизм работы Веб-приложений, использующих постоянные HTTP-соединения, что позволяет Веб-серверу отправлять данные браузеру без дополнительного запроса со стороны браузера. Для таких приложений используются технологии, непосредственно поддерживаемые браузерами. В частности, в них широко используется JavaScript. Сама технология Comet позволяет создавать чаты, графики биржевых котировок в браузере.