Last loop value
importance: 3
What is the last value alerted by this code? Why?
let
i =
3
;
while
(
i)
{
alert
(
i--
)
;
}
The answer: 1
.
let
i =
3
;
while
(
i)
{
alert
(
i--
)
;
}
Every loop iteration decreases i
by 1
. The check while(i)
stops the loop when i = 0
.
Hence, the steps of the loop form the following sequence (“loop unrolled”):
let
i =
3
;
alert
(
i--
)
;
// shows 3, decreases i to 2
alert
(
i--
)
// shows 2, decreases i to 1
alert
(
i--
)
// shows 1, decreases i to 0
// done, while(i) check stops the loop