Цикл for в JS

В этой статье вы познакомитесь с циклом for в JavaScript.

В программировании циклы используются для повторения блока кода. Например, чтобы вывести на экран определенное сообщение 100 раз, удобно будет использовать цикл. На самом деле, это всего лишь простой пример — с помощью циклов можно добиться гораздо большего.

Синтаксис

for ([инициализация]; [условие]; [финальное выражение]) {
инструкции;
}
1. инициализация — выражение или определение переменных. Выполняется только один раз. Обычно используется, чтобы инициализировать счётчик. 

2. условие — выражение, которое оценивается на каждой итерации цикла. Необязательный пункт.

• Если выражение true, цикл выполняется. Если выражение отсутствует, условие считается true.
• Если выражение false, выполняется первое вырежение, следующее за for. 

3. финальное выражение выполняется в конце каждой итерации цикла. Происходит до следующего выполнения условия. Обычно используется для увеличения счётчика.

4. инструкции выполняются, когда условие — true. 

Блок-схема

Пример 1. Выводим текст на экран 5 раз

const n = 5;

// цикл от i = 1 до i = 5
for (let i = 1; i <= n; i++) {
    console.log("Я люблю JavaScript.");
}

Вывод

Я люблю JavaScript.
Я люблю JavaScript.
Я люблю JavaScript.
Я люблю JavaScript.
Я люблю JavaScript.

Как это работает: по шагам

Итерация Переменные

Условие
i <= n

Что происходит
1

i = 1
n = 5

true Выводится Я люблю JavaScript. Переменная i увеличивается на 1 — до 2.  
2

i = 2
n = 5

true Выводится Я люблю JavaScript. Переменная i увеличивается на 1 — до 3.  
3

i = 3
n = 5

true Выводится Я люблю JavaScript. Переменная i увеличивается на 1 — до 4.  
4

i = 4
n = 5

true Выводится Я люблю JavaScript. Переменная i увеличивается на 1 — до 5.  
5

i = 5
n = 5

true Выводится Я люблю JavaScript. Переменная i увеличивается на 1 — до 6.  
6

i = 6
n = 5

false Цикл останавливается.

Пример 2. Выводим на экран числа от 1 до 5

const n = 5;

// цикл от i = 1 до i = 5
// на каждой итерации i увеличивается на 1
for (let i = 1; i <= n; i++) {
    console.log(i);
}

Вывод

1
2
3
4
5

Как это работает: по шагам

Итерация Переменные Условие
i <= n
Что происходит
1

i = 1
n = 5

true Выводится 1. Переменная i увеличивается на 1 — до 2.  
2

i = 2
n = 5

true Выводится 2. Переменная i увеличивается на 1 — до 3.  
3

i = 3
n = 5

true Выводится 3. Переменная i увеличивается на 1 — до 4.  
4

i = 4
n = 5

true Выводится 4. Переменная i увеличивается на 1 — до 5.  
5

i = 5

n = 5

true Выводится 5. Переменная i увеличивается на 1 — до 6.  
6

i = 6
n = 5

false Цикл останавливается.

Пример 3. Выводим на экран сумму n-первых чисел

let sum = 0;
const n = 100

// цикл от i = 1 до i = n
// на каждой итерации i увеличивается на 1
for (let i = 1; i <= n; i++) {
    sum += i;  // sum = sum + i
}

console.log("Сумма: ", sum);

Вывод

5050

Как это работает

Изначально значение суммы равно 0. Итерации цикла for выполняются от i = 1 до 100. На каждой итерации i добавляется к сумме и ее значение увеличивается на 1.

Когда i станет равным 101, условие i <= n (n = 100)  будет ложным. Поэтому результатом будет сумма 0 + 1 + 2 + ... + 100. Это 5050.

Другой вариант

Задачу вычисления суммы n-первых чисел можно реализовать и другим способом. Перебирать значения i можно с конца и на каждой итерации уменьшать i на 1, пока не дойдём до 1. 

let sum = 0;
const n = 100;

// цикл от i = n до i = 1
// на каждой итерации i уменьшается на 1
for(let i = n; i >= 1; i-- ) {
    sum += i; // sum = sum + i
}

console.log("Сумма: ",sum);

Вывод — такой же, как и в первом варианте: 5050. 

Результаты действительно совпадают. Но этот вариант — хуже, потому что он менее читабельный и понятный. Естественнее идти от 1 до n, складывая их.

Вы часто будете сталкиваться с задачами, которые можно решить несколькими способами. Ваша цель — определить наиболее оптимальный. 

Бесконечный цикл for

Если условие в цикле for всегда true, цикл будет работать вечно. Вернее, пока не заполнится память. Такой цикл называется бесконечным.

// бесконечный цикл for
for(let i = 1; i > 0; i++) {
    // инструкции
}

В этом примере условие всегда истинно, поскольку i всегда положительно — мы начинаем от 1 и прибавляем единицу на каждой итерации. 

codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©