Яке значення виведе цикл "for"?
важливість: 4
Для кожного циклу запишіть, які значення він виведе. Потім порівняйте з відповіддю.
Обидва цикли виведуть одинакові числа чи ні?
-
Постфіксна форма:
for (let i = 0; i < 5; i++) alert( i );
-
Префіксна форма:
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
:
- Перед виконанням циклу, присвоїти
i = 0
(початок). - Перевірити умову
i < 5
. - Якщо
true
– виконати тіло циклу: викликатиalert(i)
, а потімi++
.
Збільшення i++
виконується окремо від перевірки умови (2 крок). Це інша інструкція.
Значення i
після збільшення тут не використовується, тому немає різниці між i++
та ++i
.