函数调用后的两组括号
我正在研究Angularjs中的filter是如何工作的,而且我看到我们需要发送2组括号。
$filter('number')(number[, fractionSize])
这是什么意思,我们如何处理它的JavaScript?
这意味着第一个函数( $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')
或者,您可以保留返回的function以供将来使用:
var numberFilter = $filter('number'); numberFilter('123')
这是一样的:
var func = $filter('number'); func(number[, fractionSize]);
$filter()
函数返回一个指向另一个函数的指针。