console.log(number);
// → 0
// → 2
// … и т.д.
Эта программа эквивалентна предыдущей. Только теперь все инструкции, относящиеся к отслеживанию состояния цикла, сгруппированы.
Скобки после for
while.Вычисляем 210
при помощиfor:var result = 1;
for (var counter = 0; counter < 10; counter = counter + 1)
result = result * 2;
console.log(result);
// → 1024
Хотя я не писал фигурных скобок, я отделяю тело цикла пробелами.
Выход из цикла
Дождаться, пока условие цикла не станет ложным – не единственный способ закончить цикл. Специальная инструкция break
В следующем примере мы покидаем цикл, когда находим число, большее 20 и делящееся на 7 без остатка.
for (var current = 20; ; current++) {
if (current % 7 == 0)
break;
}
console.log(current);
// → 21
Конструкция for
break.Если вы не укажете эту инструкцию, или случайно напишете условие, которое всегда выполняется, программа зависнет в бесконечном цикле и никогда не закончит работу – обычно это плохо.
Если вы сделаете бесконечный цикл, обычно через несколько секунд среда исполнения предложит вам прервать его. Если нет, вам придётся закрыть закладку, или даже весь браузер.
Ключевое слово continue
Короткое обновление переменных
Особенно часто в циклах программе нужно обновить переменную, основываясь на её предыдущем состоянии.
counter = counter + 1;
В JavaScript есть для этого короткая запись:
counter += 1;
Подобные записи работают для многих других операторов, к примеру result *= 2
-= 1 для обратного отсчёта.Это позволяет нам сократить программу вывода чётных чисел:
for (var number = 0; number <= 12; number += 2)
console.log(number);
Для counter += 1
counter -= 1 есть ещё более короткие записи: counter++ и counter--.Работаем с переменными при помощи switch
Часто код выглядит так:
if (variable == "value1") action1();
else if (variable == "value2") action2();
else if (variable == "value3") action3();
else defaultAction();
Существует конструкция под названием switch
if/else выглядит лучше. Пример:switch (prompt("Как погодка?")) {
case "дождь":
console.log("Не забудь зонт.");
break;
case "снег":
console.log("Блин, мы в России!");
break;
case "солнечно":
console.log("Оденься полегче.");
case "облачно":
console.log("Иди гуляй.");
break;
default:
console.log("Непонятная погода!");
break;
}
В блок switch
case. Программа перепрыгивает на метку, соответствующую значению переменной в switch, или на метку default, если подходящих меток не найдено. После этого инструкции исполняются до первой инструкции break – даже если мы уже прошли другую метку. Иногда это можно использовать для исполнения одного и того же кода в разных случаях (в обоих случаях «солнечно» и «облачно» программа порекомендует пойти погулять). Однако, очень легко забыть запись break, что приведёт к выполнению нежелательного участка кода.Регистр имён
Имена переменных не могут содержать пробелы, однако часто удобно использовать несколько слов для понятного описания переменной. Вы можете выбирать из нескольких вариантов:
fuzzylittleturtle
fuzzy_little_turtle
FuzzyLittleTurtle
fuzzyLittleTurtle