- •Саратовский государственный технический университет
- •Введение
- •Три уровня 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 Основы создания сценариев
Строковые литералы
Строковый литерал – это последовательность из нуля или более Unicode-символов, заключенная в одинарные или двойные кавычки (' или "). Сами символы двойных кавычек могут содержаться в строках, ограниченных символами одинарных кавычек, а символы одинарных кавычек – в строках, ограниченных символами двойных кавычек.
Строковые литералы должны записываться в одной строке программы и не могут разбиваться на две строки. Чтобы включить в строковый литерал символ перевода строки, следует использовать последовательность символов \n, описание которой приведено ниже. Примеры строковых литералов:
"" // Это пустая строка: в ней ноль символов
'testing'
"3.14"
'name="myform"'
"В этом строковом литерале\nдве строки"
Обратите внимание: ограничивая строку одинарными кавычками, необходимо проявлять осторожность в обращении с апострофами, употребляемыми в английском языке для обозначения притяжательного падежа и в сокращениях, как, например, в слове «can't». Поскольку апостроф и одиночная кавычка – это одно и то же, необходимо при помощи символа обратного слэша (\) экранировать апострофы, расположенные внутри одиночных кавычек.
Программы на клиентском JavaScript часто содержат строки HTML-кода, а HTML-код, в свою очередь, часто содержит строки JavaScript-кода. Как и в JavaScript, в HTML для ограничения строк применяются либо одинарные, либо двойные кавычки. Поэтому при объединении JavaScript и HTML кода есть смысл придерживаться одного «стиля» кавычек для JavaScript, а другого – для HTML. В следующем примере строка «Спасибо» в JavaScript-выражении заключена в одинарные кавычки, а само выражение, в свою очередь, заключено в двойные кавычки как значение HTML-атрибута обработчика событий:
<a href="" onclick="alert('Спасибо')">Щелкни на мне</a>
Управляющие последовательности в строковых литералах
Символ обратного слэша (\) имеет специальное назначение в JavaScript- строках. Вместе с символами, следующими за ним, он обозначает символ, не представимый внутри строки другими способами.
Например, \n – это управляющая последовательность (escape sequence), обозначающая символ перевода строки. В следующем примере вывод будет осуществлен в три строки вдиалоговом окне:
аlегt("Фамилия - Иванов \n Имя - Иван \n Отчество - Иванович")
Другой пример, упомянутый в предыдущем разделе, – это последовательность \', обозначающая символ одинарной кавычки. Эта управляющая последовательность необходима для включения символа одинарной кавычки в строковый литерал, заключенный в одинарные кавычки. Например, чтобы отобразить строку Акционерное общество "Рога и копыта" вместе с кавычками, следует написать такую строку:
"Акционерное общество \"Рога и копыта\"".
Таким образом становится понятно, почему эти последовательности называют управляющими – символ обратного слэша позволяет управлять интерпретацией символа одинарной кавычки. Вместо того чтобы отмечать ею конец строки, мы используем ее как апостроф:
'You\'re right, it can\'t be a quote'
В таблице 2 перечислены управляющие последовательности и обозначаемые ими символы.
Две управляющие последовательности являются обобщенными; они могут применяться для представления любого символа путем указания кода символа из набора Latin_1 или Unicode в виде шестнадцатеричного числа. Например, последовательность \xA9 обозначает символ копирайта, который в кодировке Latin_1 имеет шестнадцатеричный код A9. Аналогично управляющая последовательность, начинающаяся с символов \u, обозначает произвольный Unicode-символ, заданный четырьмя шестнадцатеричными цифрами. Например, \u03c0 обозначает символ π. Следует отметить, что управляющие последовательности для обозначения Unicode-символов требуются по стандарту ECMAScript v1, но обычно не поддерживаются в реализациях, вышедших ранее чем JavaScript 1.3.
Таблица 2. Управляющие последовательности JavaScript
\0 \b \t \n \v \f \r \" \' \\ \xXX \uxXXXX \XXX
|
Символ NUL (\u0000) «Забой» (\u0008) Горизонтальная табуляция (\u0009) Перевод строки (\u000A) Вертикальная табуляция (\u000B) Перевод страницы (\u000C) Возврат каретки (\u000D) Двойная кавычка (\u0022) Одинарная кавычка (\u0027) Обратный слэш (\u005C) Символ Latin_1, заданный двумя шестнадцатеричными цифрами XX Unicode-символ, заданный четырьмя шестнадцатеричными цифрами XXXX Символ из набора Latin_1, заданный тремя восьмеричными цифрами XXX, с кодом в диапазоне от 1 до 377. Не поддерживается ECMAScript v3; использоватьсятакой способ записи не должен |
Отметим тот факт, что если символ «\» предшествует любому символу, отличному от приведенных в табл. 2, обратный слэш просто игнорируется).