- •1. Основные понятия
- •3.4.2. Окно с сообщением и кнопками ok и Cancel
- •3.4.3. Окно с полем ввода и кнопками ok и Cancel
- •3.6. Типы данных и инициализация переменных. Определение типа данных переменной
- •3.7. Операторы JavaScript
- •3.7.1. Математические операторы
- •3.7.2. Операторы присваивания
- •3.7.3. Двоичные операторы
- •3.7.4. Оператор обработки строк
- •3.8. Преобразование типов данных
- •3.9. Специальные символы. Разбиение сообщения в диалоговом окне на несколько строк
- •3.10. Массивы
- •3.11. Функции. Разделение программы на фрагменты
- •3.11.1. Основные понятия
- •3.11.2. Расположение функций внутри html-документа
- •3.11.3. Рекурсия. Вычисление факториала
- •3.11.4. Глобальные и локальные переменные
- •3.12. Условные операторы. Выполнение блоков кода только при соответствии условию
- •3.12.1. Операторы сравнения
- •3.12.2. Оператор ветвления if...Else. Проверка ввода пользователя
- •3.12.3. Оператор ? Проверка числа на четность
- •3.12.4. Оператор выбора switch
- •3.13. Операторы циклов. Многократное выполнение блока кода
- •3.13.1. Цикл for
- •3.13.2. Цикл while
- •3.13.3. Цикл do...While
- •3.13.4. Оператор continue.
- •3.13.5. Оператор break. Прерывание цикла
- •3.14. Ошибки в программе
- •3.14.1. Синтаксические ошибки
- •3.14.2. Логические ошибки
- •3.14.3. Ошибки времени выполнения
- •3.15. Встроенные классы JavaScript
- •3.15.1. Основные понятия
- •3.15.2. Класс Global
- •3.15.3. Класс Number. Работа с числами
- •3.15.4. Класс String. Обработка строк
- •3.15.5. Класс Array. Работа с массивами и их сортировка
- •Многомерные массивы
- •Ассоциативные массивы. Перебор ассоциативных массивов
- •3.15.6. Класс Math. Использование математических функций
- •3.15.7. Класс Date. Получение текущей даты и времени. Вывод даты и времени в окне Web-браузера
3.9. Специальные символы. Разбиение сообщения в диалоговом окне на несколько строк
Листинг 3.10. Специальные символы
<HTML>
<HEAD>
<TITLE>Первая программа</TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!--
window.alert("Строка1\nСтрока2\n\nСтрока4");
//-->
</SCRIPT>
</BODY>
</HTML>
Перечислим специальные символы, доступные в JavaScript:
-
\n — перевод строки;
-
\r — возврат каретки;
-
\f — перевод страницы;
-
\t — знак табуляции;
-
\' —апостроф;
-
\" — кавычка;
-
\\ — обратная косая черта.
3.10. Массивы
Массив — это нумерованный набор переменных одного типа. Переменная в массиве называется элементом массива, а ее позиция в массиве задается индексом. Индексация элементов массива начинается с 0, а не с 1. Это следует; помнить. Общее количество элементов в массиве называется размером массива
При инициализации массива переменные указываются через запятую в квадратных скобках:
m_Mass1 = [1, 2, 3, 4];
Получить значение элемента массива можно, указав его индекс в квадратных скобках:
m_Str = m_Mass1[0]; // Переменной m_Str будет присвоено значение 1
Листинг 3.11 демонстрирует создание массива и вывод значения элемента массива в окне Web-браузера.
Листинг 3.11. Массивы
<HTML>
<HEAD>
<TITLE>Массивы</TITLE>
</HEAD>
<BODY>
<SCRIPT language="JavaScript">
<!--
var m_Mass1, m_Mass2;
m_Mass1 = [1, 2, 3, 4];
m_Mass2 = ["", "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
document.write(m_Mass1[1] + " и " + m_Mass2[2]);
//-->
</SCRIPT>
</BODY>
</HTML>
При желании можно добавить новый элемент массива или изменить значение существующего:
m_Mass1[5]=6;
m_Mass1[0]=0;
В этом примере было создано два элемента массива и изменено значение существющего. Почему создано два элемента массива? Первый элемент с индексом 5 создан нами, а элемент с индексом 4 был создан автоматически и ррисвоено значение undefined (не определен), так как наш массив состоял только из 4 элементов, и последний определенный элемент имел индекс 3.
Любому элементу массива можно присвоить другой массив:
m_Mass1[0] = [1, 2, 3, 4];
В этом случае получить значение массива можно, указав два индекса:
m_Str = m_Mass1[0][2]; // Переменной m_Str будет присвоено значение 3
Более подробно мы рассмотрим массивы при изучении встроенного класса Array (см, разд. 3.15.5).
3.11. Функции. Разделение программы на фрагменты
Функция — это фрагмент кода JavaScript, который можно вызвать из любого места программы. Функция описывается с помощью ключевого слова function по следующей схеме:
function <Имя функции> ([<Параметры>]) {
<Тело функции>
[return <3начение>]
}
3.11.1. Основные понятия
Функция должна иметь уникальное имя. Для имен действуют такие же правила, что и при указании имени переменной. Для наглядности все имена функций в этой книге начинаются с f_.
После имени функции в круглых скобках можно указать один или несколько параметров через запятую. Параметров может вообще не быть. В этом случае указываются только круглые скобки.
Между фигурными скобками располагаются выражения JavaScript. Kpоме того, функция может возвращать значение в место вызова функции. Возвращаемое значение задается с помощью ключевого слова return.
Пример функции без параметров:
function f_Alert_OK () {
window.alert("Сообщение при удачно выполненной операции");
}
Пример функции с параметром:
function f_Alert (m_msg) {
window.alert(m_msg);
}
Пример функции с параметрами, возвращающей сумму двух переменных:
function f_Sum (m_x, m_y) {
var m_z = m_x + m_y;
return m_z;
}
В качестве возвращаемого значения в конструкции return можно указывать не только имя переменной, но и выражение:
function f_Sum (m_x, m_y) {
return (m_x + m_y);
}
В программе функции можно вызвать следующим образом:
f_Alert_OK ();
f_Alert ("Сообщение");
m_Var = f_Sum (5, 2); // Переменной m_Var будет присвоено значение 7
Выражения, указанные после return <значение>; никогда не будут выполнены
function f_Sum (m_x, m_y) {
return (m_x + m_y);
window.alert("Сообщение"); // Это выражение никогда не будет выполнено
}
Имя переменной, передающей значение функции, может не совпадать с именем переменной внутри функции:
function f_Sum (m_x, m_y) {
return (m_x + m_y);
}
var m_Var, m_Var1=5;
var m_Var2=2;
m_Var = f_Sum (m_Var1, m_Var2);