вернуться к уроку

Какие значения выведет цикл for?

важность: 4

Для каждого цикла запишите, какие значения он выведет. Потом сравните с ответом.

Оба цикла выведут alert с одинаковыми значениями или нет?

  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.