Skip to content

Commit e8f1d03

Browse files
authored
Обновленное объяснение решения задачи
1 parent 56f0a4e commit e8f1d03

File tree

1 file changed

+4
-4
lines changed
  • 1-js/02-first-steps/13-while-for/2-which-value-while

1 file changed

+4
-4
lines changed

1-js/02-first-steps/13-while-for/2-which-value-while/solution.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
while (i++ < 5) alert( i );
2020
```
2121

22-
Первое значение: `i = 1`. Остановимся на нём подробнее. Оператор `i++` увеличивает `i`, возвращая старое значение, так что в сравнении `i++ < 5` будет участвовать старое `i = 0`.
22+
Первое значение: `i = 1`. Остановимся на нём подробнее. Оператор `i++` увеличивает `i`, возвращая старое значение, так что в сравнении `i++ < 5` будет участвовать `i = 0` (в отличие от `++i < 5`).
2323

2424
Но последующий вызов `alert` уже не относится к этому выражению, так что получит новый `i = 1`.
2525

26-
Далее `2, 3, 4…` Для каждого значения сначала происходит сравнение, а потом – увеличение, и затем срабатывание `alert`.
26+
Далее следуют `2, 3, 4…`.
2727

28-
Окончание цикла: при `i = 4` произойдёт сравнение `while (4 < 5)` – верно, после этого сработает `i++`, увеличив `i` до `5`, так что значение `5` будет выведено. Оно станет последним.
28+
Остановимся на `i = 4`. Префиксная форма `++i` увеличила бы `i` и использовала бы в сравнении `5`. Но здесь мы имеем постфиксную форму `i++`, поэтому она увеличивает `i` до `5`, но возвращает старое значение. Таким образом, сравнение фактически равно `while (4 < 5)` -- `true`, поэтому управление переходит к `alert`.
2929

30-
Значение `i = 5` последнее, потому что на следующем шаге `while (5 < 5)` ложно.
30+
Значение `i = 5` -- последнее, так как на следующем шаге `while (5 < 5)` -- `false`.

0 commit comments

Comments
 (0)