назад до уроку

Яке значення виведе цикл "for"?

важливість: 4

Для кожного циклу запишіть, які значення він виведе. Потім порівняйте з відповіддю.

Обидва цикли виведуть одинакові числа чи ні?

  1. Постфіксна форма:

    for (let i = 0; i < 5; i++) alert( i );
  2. Префіксна форма:

    for (let i = 0; i < 5; ++i) alert( i );

Відповідь: обидва цикли виведуть від 0 до 4.

for (let i = 0; i < 5; ++i) alert( i );

for (let i = 0; i < 5; i++) alert( i );

Такий результат обумовлений алгоритмом роботи for:

  1. Перед виконанням циклу, присвоїти i = 0 (початок).
  2. Перевірити умову i < 5.
  3. Якщо true – виконати тіло циклу: викликати alert(i), а потім i++.

Збільшення i++ виконується окремо від перевірки умови (2 крок). Це інша інструкція.

Значення i після збільшення тут не використовується, тому немає різниці між i++ та ++i.