Два набора круглых скобок после вызова функции
Я смотрел, как фильтры работает в Angularjs, и я увидел, что нам нужно отправить 2 набора круглых скобок.
$filter('number')(number[, fractionSize])
Что это значит и как мы обрабатываем его с помощью JavaScript?
Ответы
Ответ 1
Это означает, что первая функция ($filter
) возвращает другую функцию, а затем возвращенная функция вызывается немедленно. Например:
function add(x){
return function(y){
return x + y;
};
}
var addTwo = add(2);
addTwo(4) === 6; // true
add(3)(4) === 7; // true
Ответ 2
$filter('number')
возвращает функцию, которая принимает два аргумента, первая требуется (число), а вторая необязательна (размер фракции).
Можно сразу вызвать возвращенную функцию:
$filter('number')('123')
В качестве альтернативы вы можете сохранить возвращаемую функцию для использования в будущем:
var numberFilter = $filter('number');
numberFilter('123')
Ответ 3
Это то же самое, что и:
var func = $filter('number');
func(number[, fractionSize]);
Функция $filter()
возвращает указатель на другую функцию.