Windows Script Host для Windows 2000/XP - Андрей Попов
Шрифт:
Интервал:
Закладка:
var 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.
Листинг П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--) {
 …
}
Обработка исключительных ситуацийВ
Во время выполнения сценария могут возникать различные исключительные ситуации (например, деление на ноль или попытка открыть несуществующий файл), которые приводят к ошибкам времени выполнения — при этом на экран выводится диалоговое окно с сообщением об ошибке и выполнение сценария прекращается.
Существует возможность написать код сценария таким образом, чтобы исключительные ситуации не приводили к завершению работы, а обрабатывались бы внутри сценария. Для осуществления подобной обработки исключительных ситуаций в JScript необходимо использовать конструкцию try…catch. Синтаксис следующий:
try
 Защищенный блок
catch (except)
 Блок обработки исключительных ситуаций
После ключевого слова try здесь записываются те операторы, при выполнении которых потенциально может возникнуть ошибка. В качестве параметра except надо использовать любое имя переменной (предварительно объявлять эту переменную не нужно). Если в защищенном блоке не возникло ошибки, то значение этой переменной будет равно нулю; в случае же возникновения исключительной ситуации управление сразу передается в блок catch, при этом переменная except как экземпляр объекта Error будет содержать два свойства: error — числовой код возникшей ошибки и description — краткое описание ошибки.
В качестве примера приведем часть сценария, в которой происходит обработка исключительных ситуаций при подключении сетевого диска:
try {