for(var i = 1; i <= 2; i++) {
(function(index) {
setTimeout(function() { console.log(index); }, 100);
})(i);
}
for (var i = 1; i <= 5; i++) {
setTimeout(function(x) { return function() { console.log(x); }; }(i), 1000*i);
// 1 2 3 4 5
}