HTML: Популярный самоучитель
Шрифт:
if (a > 12){
if (a<25) ; //Действия при 12 < a < 25
else ; //Действия при a > 25
}
Напоследок осталось рассмотреть последний из условных операторов – оператор множественного выбора switch. Он позволяет выбрать одну из многих альтернатив в зависимости от значения заданного выражения. Формат оператора приведен ниже:
switch (выражение){
case выражение1:
операторы1
case выражение2:
операторы2
...
default:
операторы_по_умолчанию
}
Оператор switch
switch (var){
case 1:
//Операторы выполнятся при var == 1
break;
case 2:
//Операторы выполнятся при var == 2
case 3:
//Операторы выполнятся при var == 2 или var == 3
break;
case 4:
//Операторы выполнятся при var == 4
default:
//Операторы выполнятся при var != 1 && var != 2 && var != 3
}
Циклы
Язык JavaScript поддерживает три вида циклов: for, while и do-while. Начнем с более простых циклов while и do-while. Цикл while позволяет выполнять нужные действия, пока истинно выражение-условие. Формат оператора while следующий:
while (условие) оператор
Здесь условие – логическое выражение (аналогично операторам if и ?), а оператор – простой или составной оператор, выполняемый при каждой итерации цикла. Пример использования цикла while:
var i = 0;
while (i<10){
//Какие-то действия...
i++; //Не забываем увеличить итератор, чтобы случайно
//не организовать бесконечный цикл
}
Следующий оператор цикла do-while имеет следующий формат:
do оператор while (условие)
Этот оператор цикла аналогичен оператору while с тем лишь отличием, что условие в цикле do-while проверяется после выполнения каждой итерации. Это значит, что оператор выполнится как минимум один раз. Предыдущий пример можно записать с использованием оператора do-while следующим образом:
var i = 0;
do{
//Какие-то действия...
i++; //Не забываем увеличить итератор, чтобы случайно
//не организовать бесконечный цикл
}while (i<10);
Теперь рассмотрим оставленный напоследок цикл for. Оператор for имеет следующий формат:
for (выражение1; условие; выражение2) оператор
Значение выражения выражение1 рассчитывается перед первой итерацией цикла. Обычно это инициализация счетчика или другой переменной, нужной в цикле. Операторы в теле цикла (оператор) выполняются до тех пор, пока истинно значение выражения условие. Перед второй и последующей итерациями вычисляется значение выражения выражение2 (обычно это выражение по изменению переменной цикла). Для демонстрации использования цикла for ниже приводится пример (аналог примеров для циклов while и do-while):
var i;
for(i=0; i<10; i++){
//Какие-то действия...
}
Операторы break и continue
Оператор break, помимо прерывания выполнения последовательности операторов внутри оператора switch, используется для прерывания итерации циклов. В следующем примере выполнение цикла for прерывается как раз с помощью оператора break:
var i;
for (i=0; i<10; i++){
//Действия...
if (i == 5) break;
}
Если в теле цикла встречается оператор continue, то остальные операторы игнорируются, а выполнение переходит на проверку условия цикла. Например, в следующем цикле суммируются значения от 1 до 10 (с помощью оператора continue игнорируются значения 5 и 7):
var i, sum = 0;
for (i=0; i<10; i++){
if (i == 5 || i == 7) continue;
sum += i;
}
Оператор запятая
Оператор полезен в тех случаях, когда нужно одновременно вычислить значение нескольких выражений в том месте, где допускается запись только одного. Рассмотрим этот случай на примере оператора for. Пусть нужно, чтобы в цикле было два итератора, но очень не хочется писать увеличение (уменьшение) одного из них в теле цикла. С использованием оператора , (запятая) можно разрешить проблему следующим образом:
var i, j;
for (i=0, j=100; i<j; i++, j–){
//Действия ...
}
Выражения, разделенные оператором , (запятая), вычисляются слева направо. При этом возвращаемым значением будет значение самого левого выражения. В следующем примере значение переменной res будет равным 3, а не 6:
var res, val = 2;
res = val+=1, val=5;
Из этого примера можно подчеркнуть одну особенность всех операторов присваивания языка JavaScript: они тоже возвращают значение. Корректными являются конструкции вида:
a = 1 + (b = c = d = 25);
Здесь значением переменной a будет 26, а остальных переменных – 25. Все сказанное об операторе , (запятая) не касается использования этого оператора при вызове функций.
12.6. Функции
Функции применяются в тех случаях, когда недостаточно программы, представляющей собой простую последовательность операторов, выполняющуюся один раз. В этом случае применение функций позволяет сгруппировать операторы и выполнять их произвольное количество раз (вызывая функцию из любого места программы). Упрощенно о функции можно сказать, что это именованная последовательность операторов.