Another JS Closure quiz

by dhchow

HTML

<div id="box0">zero</div>
<div id="box1">one</div>
<div id="box2">two</div>
<div id="box3">three</div>

JavaScript

/*
 * what does this do?

for (var i = 0; i < 10; i++) {
  document.getElementById('box' + i).onclick = function() {
    alert('You clicked on box #' + i);
  };
}*/

for (var i = 0; i < 10; i++) {
  document.getElementById('box' + i).onclick = (function(index){
    return function() {
      alert('You clicked on box #' + index);
    };
  })(i);
}