uanr81, всё дело в удобстве. Предположим, что у нас одна и та же функция используется в разных times, для каждой нужен разный контекст:
var a = {foo: 'bar'};
var b = {bar: 'foo'};
function callback() {
console.log(this);
};
123..times(callback, a);
456..times(callback, b);
А если нам родительский контекст нужно передать?
function a() {
console.log(this); //hi
123..times(function() {
console.log(this); //тут уже другой контекст
});
};
a.call('hi');
function a() {
console.log(this); //hi
123..times(function() {
console.log(this); //hi
}, this);
};
a.call('hi');