为什么使用函数返回函数?

Syn*_*nia 7 javascript higher-order-functions

我想知道,为什么我有时会看到返回函数的函数?

例如,这个问题的答案: AngularJS自定义过滤功能

$scope.criteriaMatch = function( criteria ) {
  return function( item ) {
    return item.name === criteria.name;
  };
};
Run Code Online (Sandbox Code Playgroud)

有一个函数返回另一个返回值的函数是什么意思?

Paa*_*rth 1

在很多情况下您都希望返回一个函数。在这种情况下,它专门处理角度如何定义过滤器。外部函数旨在处理可能需要注入的任何依赖项或可能需要指定的任何变量。内部函数是应用于集合以返回较小集合的实际过滤步骤。