var data = []; for(var i = 0; i < 3; i++) { var curr = (function(i) { return function() { alert(i); } })(i); data.push(curr); } for(var j = 0; j < 3; j++) { data[j](); }