День добрый, помогите с задачами по замыканию, до этого все темы были понятны, да и само замыкание смысл в принципе понял, но вот с задачами которые посложнее возникли проблемы:
https://learn.javascript.ru/closures-usage#tasks
задача 5:
function filter(arr, func) {
var result = [];
for (var i = 0; i < arr.length; i++) {
var val = arr[i];
if (func(val)) {
result.push(val);
}
}
return result;
}
var arr = [1, 2, 3, 4, 5, 6, 7];
alert(filter(arr, function(a) {
return a % 2 == 0;
})); // 2, 4, 6
не могу понять каким образом аргумент func из функции filter(arr, func), принимает сзначение через function(a) в которую не передаеться массив.И еще что значи func(val) ?