我正在查看过滤器在 Angularjs 中的工作方式,我发现我们需要发送 2 组括号。
$filter('number')(number[, fractionSize])
它是什么意思,我们如何用 JavaScript 处理它?
我正在查看过滤器在 Angularjs 中的工作方式,我发现我们需要发送 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')
或者,您可以保留返回的函数以供将来使用:
var numberFilter = $filter('number');
numberFilter('123')
与此相同:
var func = $filter('number');
func(number[, fractionSize]);
该$filter()
函数返回一个指向另一个函数的指针。
使用 ES6 或更高版本,您可以这样做;
const divideBoth = (x) => (y) => {
return x / y;
};
使此函数类型有用的原因之一是当您有一个需要回调函数的 react.js 组件而不是内联方式(即()=>return value)时,您可以按照我们之前的方式进行操作。但不建议在事件回调中使用,因为它会在第一次渲染时执行,有时可能会导致问题