Циклы


Заявление for

В JavaScript есть два метода для выполнения одного и того же кода несколько раз. В основном он используется для перебора массивов или объектов. Посмотрим на пример:

var i;
for (i = 0; i < 3; i = i + 1)
{
    console.log(i);
}

Это распечатает следующее:

0
1
2

forЗаявление в JavaScript имеет тот же синтаксис , как и в Java и C. Она состоит из трех частей:

  1. Инициализация - инициализирует переменную итератора i. В этом примере мы инициализируем iзначение 0.
  2. Условие - пока выполняется условие, цикл продолжает выполняться. В этом примере мы проверяем, что iменьше 3.
  3. Приращение - директива, увеличивающая итератор. В нашем случае мы увеличиваем его на 1 в каждом цикле.

Мы также можем написать более короткую нотацию для оператора, вставив определение переменной внутри forцикла и увеличив его с помощью ++оператора.

for (var i = 0; i < 3; i++)
{
    console.log(i);
}

Чтобы перебрать массив и распечатать все его члены, мы обычно используем forоператор. Вот пример:

var myArray = ["A", "B", "C"];
for (var i = 0; i < myArray.length; i++)
{
    console.log("The member of myArray in index " + i + " is " + myArray[i]);
}

Это распечатает содержимое массива:

The member of myArray in index 0 is A
The member of myArray in index 1 is B
The member of myArray in index 2 is C

Обратите внимание, что мы использовали lengthсвойство массива, которое возвращает количество членов в массиве, поэтому мы знаем, когда прекратить итерацию.

Заявление while

whileУтверждение является более простым вариантом forзаявления , которое проверяет , если выражение оценивается как trueи работает до тех пор , как он говорит true.

Например:

var i = 99;
while (i > 0)
{
    console.log(i + " bottles of beer on the wall");
    i -= 1;
}

операторы break и continue

breakЗаявление позволяет остановить выполнение цикла. Например, мы можем создать цикл, который будет повторяться бесконечно, и вместо этого использовать оператор для прерывания внутри цикла, проверив выполнение определенного условия.while(true)break

var i = 99;
while (true)
{
    console.log(i + " bottles of beer on the wall");
    i -= 1;
    if (i == 0)
    {
        break;
    }
}

continueЗаявление пропускает оставшуюся петлю и возвращается к началу цикла. Например, если мы хотим печатать только нечетные числа с помощью forоператора, мы можем сделать следующее:

for (var i = 0; i < 100; i++)
{
    // check that the number is even
    if (i % 2 == 0)
    {
         continue;
    }
    // if we got here, then i is odd.
    console.log(i + " is an odd number.");
}

Упражнение

В этом упражнении вы должны написать цикл for, который выполняет итерацию по переменной myArray и распечатывает все ее члены.