JSFiddle - React, Tailwind, and code Playground

by Khalil Zhang

JavaScript

//Let ‘alert’ output correct index value every time calling inner function.

var myAlerts = [];

for (var i = 0; i < 2; i++) {
    myAlerts.push(

    function inner() {
        alert(i);
    });
}

myAlerts[0](); // 2
myAlerts[1](); // 2


//answer: function inner(a){alert(a)}(i);

var myAlerts = [];

for (var i = 0; i < 2; i++) {
    myAlerts.push(

    function inner(a) {
        alert(a);
    }(i));
}

myAlerts[0](); // 0
myAlerts[1](); // 1