var arr = []
for(var i=0; i<5; i++){
arr[i] = function(){
return i;
}
}
for(var index in arr){
document.write(arr[index]())};
what i expected to see was 12345, but the outcome is 55555
let me explain my logic below by using '//'
var arr = [] // creating array new object
for(var i=0; i<5; i++){
arr[i] = function(){
return i;
}
// arr = [function(){return 0}, function(){return 1}, function(){return 2}, function(){return 3}, function(){return 4}
}
for(var index in arr){
document.write(arr[index]())};
// outcome is 12345
i`ve already read the article JavaScript closure inside loops – simple practical example,
but still cannot understand..