Здравствуйте!
Возник вопрос по аргументам функции:
function unless(test, then) {
if(!test) then();
}
function repeat(times, body) {
for(var i = 0; i < times; i++) body(i);
}
repeat(3, function(n) {
unless(n % 2, function() {
console.log(n, "is even");
});
// → 0 is even
// → 2 is even
При вызове функция repeat принимает в качестве второго аргумента анонимную функцию, которая в свою очередь, принимает аргумент n, который дальше фигурирует в качестве аргумента функции unless. Помогите пожалуйста разобраться откуда берется значение аргумента n?