For each tick of your loop (5 ticks in total), it'll schedule console.log to be run with the value of i after 1000ms.
Meaning that in approximately ~1200ms (1000ms of the schedule plus some ms of the execution operation) after the execution of this code, the console will display 0, 1, 2, 3, 4.
Good explanation but its wrong. var is scoped functionally and also because of closures, the value of i would be 5 when the cb is executed. Hence, it will print out
For each tick of your loop (5 ticks in total), it'll schedule
console.log
to be run with the value ofi
after1000ms
.Meaning that in approximately ~1200ms (1000ms of the schedule plus some ms of the execution operation) after the execution of this code, the console will display
0
,1
,2
,3
,4
.Am I correct?
Good explanation but its wrong.
var
is scoped functionally and also because of closures, the value ofi
would be5
when thecb
is executed. Hence, it will print outHa! You got me! Thanks for clarifying!