What is the output of below program. var a = [1,2,3,4] for (var i=0; i<a.length; i++){ setTimeout(function(){ console.log(i) },1000) } ( My Ans : it will print 4 5 times as it will store the latest reference) Next They asked me : How can i print 1,2,3,4 by changing some code in above example
Anoniem
Some Correction : It will print 4 times "4". Fix: just use "let"(block scope) rather than "var" It should be : console.log(a[i]) to print (1,2,3,4)