closure interview question

by Matthew Vasallo

HTML

<button>here</button>
<button>here2</button>

JavaScript

var nodes = document.getElementsByTagName('button');

for (var i = 0; i < nodes.length; i++) {
   nodes[i].addEventListener('click', keepIndex(i));
    //handleNodeClick(i);
}

function handleNodeClick(i){
    nodes[i].addEventListener('click', function(){
        console.log('You clicked element #' + i);
    });
}

function keepIndex(i){
    return function(e){
        console.log('You clicked element #' + i);
    };
}