Declaring i
before the for loop gives output as 3 3 3.
let i;
for (i = 0; i < 3; i++) {
const log = () => {
console.log(i);
}
setTimeout(log, 100);
}
//Output 3 3 3
Declaring i
in the for loop gives output as 1 2 3:
for (let i = 0; i < 3; i++) {
const log = () => {
console.log(i);
}
setTimeout(log, 100);
}
//Output 1 2 3