Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Осн. разраб. веб-страниц.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
844 Кб
Скачать

4.5. Основные операторы JavaScript

4.5.1. Оператор ветвления if…else

Оператор ветвления (условный оператор) if позволяет запустить на исполнение одну из двух альтернативных последовательностей операторов. Выбор осуществляется с помощью булевых выражений, принимающих значение true или false.

Пример.

var yourchoice = confirm ("Вы сейчас сидите за компьютером?");

if (yourchoice)

{

alert ("Видите, я угадал!");

}

else

{

alert ("Да ну? А как же вы это делаете?");

}

Если в каком-либо из двух блоков if или else присутствует только один оператор (как в примере выше), то соответствующую пару фигурных скобок можно опустить. Блок else может отсутствовать вообще.

4.5.2. Операторы цикла

Операторы цикла позволяют выполнить некоторую группу операторов произвольное число раз. В языке JavaScript имеется четыре оператора цикла: do…while; while; for; for…in.

Цикл dowhile – цикл с постусловием (т.е. условием, проверяемым после выполнения тела цикла). Синтаксис оператора:

do

{

операторы;

}

while (условие);

Этот оператор цикла работает следующим образом. Выполняется тело цикла – операторы внутри фигурных скобок. Затем проверяется условие. Если оно ложно, выполнение оператора прекращается, если истинно – выполнение тела цикла повторяется до тех пор, пока условие не станет ложным. Следует обратить внимание, что тело цикла do…while всегда выполняется хотя бы один раз, даже если условие ложно с самого начала.

Пример. Следующий цикл выведет в окнах сообщений все числа от 1 до 5:

i = 1;

do

{

alert (i);

i++;

}

while (i <= 5);

Следует внимательно следить за тем, чтобы из цикла был выход, в противном случае сценарий зациклится. Так, если в вышеприведённом примере пропустить оператор i++, то переменная i будет всегда иметь значение 1 и цикл будет выполняться бесконечно. К зацикливанию может также привести ошибка в условии: если в том же примере написать по ошибке i >= 0 вместо i <= 5, цикл также никогда не завершится. Это же относится и к другим операторам цикла – while и for.

Цикл while – цикл с предусловием. В отличие от цикла do…while, условие проверяется до первого выполнения тела цикла. Если условие с самого начала ложно, тело цикла не будет выполнено ни разу. Если условие истинно, выполнение тела цикла повторяется до тех пор, пока оно не станет ложным. Синтаксис оператора:

while (условие)

{

операторы;

}

Пример. Следующий пример аналогичен примеру для оператора do…while – выводит в окнах сообщений все числа от 1 до 5:

i = 1;

while (i <= 5)

{

alert (i);

i++;

}

Цикл for – цикл со счётчиком. Синтаксис оператора:

for (начальное_выражение; условие; оператор_приращения)

{

операторы;

}

Он эквивалентен следующей конструкции с оператором while:

начальное_выражение;

while (условие)

{

операторы;

оператор_приращения;

}

Тело цикла for может не выполняться ни разу. Это происходит в том случае, когда условие с самого начала ложно.

Пример. Следующий пример делает то же, что пример для оператора do…while – выводит в окнах сообщений все числа от 1 до 5:

for (i = 1; i <= 5; i++)

{

alert (i);

}

Цикл forin несколько отличается от трёх предыдущих и не имеет аналогов в языках Паскаль и Си. Он позволяет выполнить какие-либо действия над каждым из элементов массива. Синтаксис оператора:

for (имя_переменной in имя_массива)

{

операторы;

}

Пример. Следующий пример последовательно выводит в окнах сообщений названия дней недели, предварительно занесённые в массив:

var weekdays = new Array ("Sunday", "Monday", "Tuesday", "Wednesday",

"Thursday", "Friday", "Saturday");

for (day in weekdays)

{

alert (day);

}

Заметьте, что оператору for…in не нужно передавать размер массива: он сам «узнаёт» у массива, сколько в нём элементов.