Sollicitatievraag bij ValueLabs

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

Antwoorden op sollicitatievragen

Anoniem

10 jun 2018

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)

1

Anoniem

16 feb 2018

My Answer : var a =[1,2,3,4] for (var i=0; i

4

Anoniem

25 nov 2018

Yes, ofcourse, it'll print 4 times 4 (not 5 times). Another way could be: using closure function. var a = [1,2,3,4] for (var i=0; i

1