- •Саратовский государственный технический университет
- •Введение
- •Три уровня web-документа
- •Навигация
- •Глава 1. Основы Java Script
- •Рекомендации по использованию JavaScript
- •Добавление JavaScript кода в html документы
- •Сокрытие сценариев от устаревших браузеров
- •Определение языка сценариев
- •Атрибут language
- •Атрибут defer
- •1.2. Ввод и вывод данных
- •Alert(сообщение);
- •Confirm(сообщение);
- •Вывод в тело документа
- •Практические задания
- •1.3. Типы данных и значения
- •Целые литералы
- •Шестнадцатеричные и восьмеричные литералы
- •Литералы вещественных чисел
- •Работа с числами
- •Специальные числовые значения
- •Строковые литералы
- •Управляющие последовательности в строковых литералах
- •Преобразование чисел в строки
- •Логические значения
- •Преобразование логических значений
- •Функции
- •Функциональные литералы
- •Объекты
- •Объектные литералы
- •Значение null
- •Значение undefined
- •Объекты Error
- •Преобразование типов
- •Имена переменных
- •Создание переменных
- •Var имя_переменной;
- •Типизация переменных
- •Область видимости переменной
- •Var X; // Объявляем неинициализированную переменную. Значением ее является undefined
- •Элементарные и ссылочные типы
- •Комментарии
- •Арифметические операторы
- •Операторы сравнения
- •Операторы сравнения
- •Оператор in
- •Оператор instanceof
- •Строковые операторы
- •Логические операторы
- •Присваивание с операцией
- •Условный оператор (?:)
- •Оператор typeof
- •Оператор создания объекта (new)
- •Оператор delete
- •Глава 2. Инструкции Java Script
- •Инструкция if - оператор условного перехода
- •If (условие)
- •If (условие1) {
- •If (!х) {// Если переменная username равна null, undefined, 0, "" или NaN, она
- •If (!X) alert('Bы ничего не ввели")
- •Инструкция else if
- •Инструкция switch
- •Практические задания
- •Операторы цикла
- •Инструкция while
- •Цикл do/while
- •Инструкция for
- •I f (условие2){
- •Инструкция for/in
- •Инструкция break
- •Инструкция continue
- •Практические задания
- •Инструкция var
- •Инструкция function
- •Инструкция return
- •Инструкция throw
- •Инструкция try/catch/finally
- •Инструкция with
- •Пустая инструкция
- •Глава 3 Объекты
- •Создание объектов
- •Свойства объектов
- •Объекты как ассоциативные массивы
- •Свойства и методы универсального класса Object
- •Объект String (Строка)
- •Методы String обработки строк
- •X.Split(" ") /* значение - массив из элементов: "Привет", "всем" */
- •Методы String форматирования строк
- •Функции вставки и замены подстрок
- •Insstr ("Привет, друзья", " мои", 7) // "Привет, мои друзья"
- •Insstr("Привет, друзья", " мои", 100) // "Привет, друзья мои"
- •Практическое задание
- •Массивы
- •Чтение и запись элементов массива
- •Добавление новых элементов в массив
- •Длина массива
- •Многомерные массивы
- •Методы массивов
- •Функции обработки числовых массивов
- •Практическое задание
- •Практические задания
- •Объект Date
- •Аргументы
- •Статические методы
- •Практические задания
- •Объект Math (Математика)
- •Свойства Math
- •Методы Math
- •Таймеры
- •If (confirm("Прервать процесс ?"))
- •Глава 4 Основы создания сценариев
Сокрытие сценариев от устаревших браузеров
Когда JavaScript еще был в диковинку, некоторые браузеры не распознавали тег <script> и потому (вполне корректно) отображали содержимое этого тега, как простой текст. Чтобы обойти эту проблему, внутри тега <script> использовались HTML - комментарии. Обычно программисты оформляли свои сценарии следующим образом:
<script language="JavaScript">
<!--Начало HTML - комментария, который скрывает расположенный здесь
// текст JavaScript - сценария
// .
// .
// Конец HTML_комментария, скрывающего текст сценария -->
</script>
Примеры такого включения скрипта можно встретить и сейчас.
Определение языка сценариев
Хотя JavaScript изначально был языком сценариев для Всемирной паутины и остается в ней самым распространенным, он не единственный. Единственной серьезной альтернативой JavaScript является язык Visual Basic Scripting Edition корпорации Microsoft1, который поддерживается Internet Explorer.
Поскольку существует возможность использования более одного языка сценариев, необходимо в этом случае сообщить веб - браузеру, на каком языке написан сценарий. Это позволит корректно интерпретировать сценарии и пропускать сценарии, написанные на языках, которые не поддерживаются.
Существует возможность определить язык сценариев для всего файла с помощью HTTP-заголовка Content-Script-Type в теге <meta>. Чтобы указать, что все сценарии написаны на языке JavaScript (если не указано иное), достаточно просто поместить следующий тег в область <head> HTML - документа:
<meta http-equiv="Content-Script-Type" content="text/javascript">
На практике браузеры полагают, что JavaScript является языком сценариев по умолчанию, даже если сервер не присылает заголовок Content-Script-Type и в странице опущен тег <meta>. Однако если язык сценариев по умолчанию не определен или возникает необходимость изменить значение по умолчанию, необходимо использовать атрибут type тега <script>:
<script type="text/javascript"></script>
Традиционно для программ на языке JavaScript указывался MIME-тип "text/javascript". Другой используемый тип – "application/x-javascript" (где префикс x- указывает, что это нестандартный экспериментальный тип). Тип "text/javascript" стандартизован в RFC 4329 как наиболее распространенный. Однако поскольку JavaScript_программы в действительности не являются текстовыми документами, такой тип считается устаревшим и рекомендуется указывать вместо него тип "application/javascript" (без префикса x-). Однако в настоящее время тип "application/javascript" не обладает достаточной поддержкой. Как только эта поддержка появится, правильнее будет использовать теги <script> и <meta> следующим образом:
<script type="application/javascript"></script>
<meta http-equiv="Content-Script-Type" content="application/javascript">
Атрибут language
Когда тег <script> только появился, он был просто нестандартным расширением языка HTML и не поддерживал атрибут type. В то время язык сценариев определялся с помощью атрибута language:
<script language="JavaScript"><!--
// Здесь располагается JavaScript - код
--> </script>
А если сценарий был написан на языке VBScript, атрибут выглядел следующим образом:
<script language="VBScript">
' Программный код VBScript (' – признак комментария, аналог // в JavaScript)
</script>
Спецификация HTML 4 стандартизует тег <script>, но отвергает атрибут language, т. к. стандартный набор имен языков сценариев не определен. Однако иногда можно встретить тег <script>, в котором используются и атрибут type (в соответствии с требованиями стандарта), и атрибут language (для сохранения обратной совместимости с устаревшими версиями браузеров):
<script type="text/javascript" language="JavaScript"></script>