提问者:小点点

函数调用后的两组括号


我看到了过滤器在Angularjs中的工作原理,我看到我们需要发送两组括号。

$filter('number')(number[, fractionSize])

它意味着什么,我们如何用JavaScript处理它?


共2个答案

匿名用户

这意味着第一个函数($filter)返回另一个函数,然后立即调用返回的函数。例如:

function add(x){
  return function(y){
    return x + y;
  };
}

var addTwo = add(2);

addTwo(4) === 6; // true
add(3)(4) === 7; // true

匿名用户

$filter('number')返回一个函数,该函数接受两个参数,第一个参数是必需的(数字),第二个参数是可选的(分数大小)。

可以立即调用返回的函数:

$filter('number')('123')

或者,您可以保留返回的函数以备将来使用:

var numberFilter = $filter('number');

numberFilter('123')