this is for javascript, $(this) for jQuery.
you can use $(this) for every functions of jQuery, not the case for this.
Edit:
For your example the i is just the incremented number that he is on (0 the 1st 10 the 11the) the $(this) is the element img precisely you can do either :
$(this).on('click', function() { console.log(123); });
or
$('img').eq(i).on('click', function() { console.log(123); });
Edit2:
Here is a usage of this:
var sorter = {
sort: function() {
console.log('sorting');
},
requestSorting: function() {
this.sort();
}
}
sorter.requestSorting.bind(sorter);
In this example it's exactly used like the $this in PHP class.
That's why I said it's more for pure javascript functions.