Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
215
Добавлен:
10.05.2015
Размер:
160 Кб
Скачать
☆

Управляющие структуры

Ветвящиеся структуры, 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("Вы угадали");