Оператор while записывается в следующем виде:
while (условие) {
тело цикла
}
Пример использования цикла while приведен в листинге П1.2.
whilevar theMoments = "";
var theCount = 42; // Начальное значение счетчика цикла
while (theCount >= 1) {
if (theCount > 1) {
theMoments = "До взрыва осталось " + theCount + " сек!";
} else {
theMoments = "Осталась секунда!";
}
theCount--; // Уменьшаем значение счетчика
}
theMoments = "ВЗРЫВ!";
Цикл do…while
Этот цикл является примером цикла с пост-условием и записывается в следующем виде:
do {
тело цикла
} while (условие);
В этом случае цикл выполняется до тех пор, пока проверяемое после ключевого слова while условие не станет ложным (false). Так как условие проверяется уже после прохождения тела цикла, то операторы внутри цикла do…while выполнятся по крайней мере один раз.
Пример использования цикла do…while приведен в листинге П1.3.
do…whilevar howFar = 11; // Верхний предел для счетчика цикла
var sum = new Array(howFar); //Массив из 11 элементов, индексы от 0 до 10
var theSum = 0;
sum[0] = 0;
var icount - 1;
//Цикл выполнится 10 раз
do {
theSum += icount; sum [icount] = theSum;
icount++; }
while (icount < howFar);
Внутри цикла любого вида можно применять два специальных оператора: break и continue.
Оператор break
С помощью оператора break можно прервать выполнение цикла в любом месте; управление при этом передастся на оператор, следующий сразу за циклом.
var i = 0;
while (i < 100) {
if (i == 50) break;
i++;
}
i++; // Значение i станет равным 51
Оператор continue
Оператор continue прерывает текущую итерацию цикла и начинает новую. В различных видах циклов этот оператор производит следующие действия:
□ в циклах while и do…while проверяется условие цикла и если оно равно true, то вновь выполняется тело цикла;
□ в цикле for изменяется значение счетчика в разделе итерации, проверяется условие цикла и если оно равно true, то тело цикла выполняется вновь;
□ в цикле for…in переменная цикла переходит к следующему полю объекта, и тело цикла выполняется вновь.
Пример использования оператора continue:
var s = "", i=0;
while (i < 10) {
i++;
// Пропускаем число 5
if (i==5) {
continue;
}
}
s += i;
Прочие операторы
Рассмотрим еще несколько часто применяемых операторов (см. табл. П1.9).
Таблица П1.9. Прочие операторы
| Оператор | Описание |
|---|---|
. |
Точка. Применяется для доступа к свойству объекта или для вызова его метода |
[] |
Квадратные скобки. Применяются для индексирования массива |
() |
Скобки. Применяются либо для изменения порядка вычисления выражений, либо для передачи параметров функциям |
, |
Запятая. Применяется для многократных вычислений |
С помощью оператора "," можно, например, в разделе итерации цикла for изменять значение сразу нескольких переменных:
var i, j;
j = 10;
for (i = 0; i<=10; i++, j--) {
…
}
Обработка исключительных ситуаций
Во время выполнения сценария могут возникать различные исключительные ситуации (например, деление на ноль или попытка открыть несуществующий файл), которые приводят к ошибкам времени выполнения — при этом на экран выводится диалоговое окно с сообщением об ошибке и выполнение сценария прекращается.