I understand that var cause a single binding for an i in a loop.
Can somebody explain why the answer is 5?
Does i++ increments one more time on a function call?
Try to debug it, but still confused about workings of a loop.
var result = [];
for(var i = 0; i < 5; i++){
  result[i] = function(){
    return i;
  }
}
console.log(result[0]())
