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
 
     
    