- •12. Сценарии Javascript
- •Характеристики языка Javascript
- •Вставка сценария в html-документ
- •Переменные и типы данных
- •Операторы и управляющие структуры
- •Арифметические операторы
- •Логические операторы
- •Управляющие структуры
- •Встроенные объекты Javascript
- •Создание пользовательских объектов
- •Внешние объекты
- •Пример: карточная игра Blackjack
- •Правила игры
- •Разработка объектной модели
- •Вопросы
Управляющие структуры
Ветвящиеся структуры, if, if…else и switch, позволяют направить выполнение программы в соответствии с проверяемым условием.
if (b != 0)
c = a / b; //выполнить деление только если делитель не ноль
if (x % 2 == 0)
document.write(x + ' четное');
else
document.write(x + ' нечетное');
var d = new Date(); // объект Date – текущая дата и время
switch (d.getDay()) {
case 0:
document.write("Воскресенье");
break; //выход из переключателя.
//Если опущен, будет выполнена и следующая инструкция
case 1:
document.write("Понедельник");
break;
case 2:
document.write("Вторник");
break;
case 3:
document.write("Среда");
break;
case 4:
document.write("Четверг");
break;
case 5:
document.write("Пятница");
break;
case 6:
document.write("Суббота");
break;
default: // выполняется, если не выполнено
//ни одно из предыдущих условий
document.write(d.getDay());
}
Второй тип управляющих структур – циклы, то есть повторное выполнение некоторой инструкции или блока инструкций до тех пор, пока выполняется некоторое условие. В Javascript существуют четыре формы циклов:
Цикл for управляется счетчиком.
var a = []; // объявляем массив
for (var i = 0; i < 10; i++)
a[i] = i; // заполняем 10 элементов массива
var sum = 0;
for (var j = 0, N = a.length; j < N; j++)
sum += a[j];
document.write('Сумма = ' + sum);
Специальная форма for, for/in, удобна для перебора свойств объекта.
var nav = window.navigator; // информация о браузере
for (prop in nav)
document.write(prop + ': ' + nav[prop] + '<br>\n');
// печатает построчно пары свойство: значение объекта.
В цикле while условие проверяется перед началом каждого повтора. Если условие изначально ложно, цикл не будет выполнен.
var x = 0;
while (x != 4) {//цикл повторяется, пока условие истинно
x = window.prompt('Сколько будет 2 * 2', x);
//метод window.prompt открывает диалоговое окно с полем ввода,
//куда нужно ввести ответ.
}
if (x == 4)
window.alert("Правильно");
В цикле do…while условие проверяется в конце цикла, то есть цикл повторяется как минимум один раз.
var x = 0;
do {
x = window.prompt('Сколько будет 2 * 2', x);
} while (x != 4); //цикл повторяется, пока условие истинно
if (x == 4)
window.alert("Правильно");
В некоторых случаях требуется выход из цикла или переход к началу цикла до завершения всего блока инструкций. Оператор break заканчивает выполнение цикла и передает управление первой инструкции после цикла. Оператор continue пропускает инструкции до конца блока и начинает новый повтор цикла.
var x = 0;
while (x != 4) {
x = window.prompt("Сколько будет 2*2?", x);
if (x == null)//пользователь нажал "Отмена"
break; // выход из цикла
if (Number(x) == x)// является ли x числом
continue; // пропускаем остаток и начинаем новый повтор
// с проверкой условия
//сюда попадаем, только если введено не число
window.alert("Вводите только числа");
} // конец цикла
if (x == null)
window.alert("Вы сдались");
else
window.alert("Вы угадали");
