是否有返回函数的 javascript 函数的名称

Is there a name for a javascript function that returns a function?

本文关键字:函数 javascript 是否 返回      更新时间:2023-09-26

Javascript允许我们编写函数,使用它们的参数来构建和返回另一个具有特定行为的(通常是匿名的(函数。咖喱就是一个例子。

为了说明这一点,此方法可用于对任意属性上的对象数组进行优雅的排序:

var sortOn = function(property) {
  return function(a,b) {
    return a[property].localeCompare(b[property]);
  };
};
var myArray = [ {id:1, title:'Hello'}, {id:2, title:'Aloha'} ];
myArray.sort( sortOn('title') ); // Aloha, Hello
myArray.sort( sortOn('id') );    // Hello, Aloha

一般来说,Javascript函数是否有一个词,根据其参数返回另一个函数?

返回

函数的函数称为高阶函数。

这是一个功能概念,主要用于将做某事的部分抽象成更小的位,从而更快地高效和干净地编码。

您的函数是一个高阶函数,因为它返回一个从其参数创建闭包的函数 - 就这么简单。 高阶函数也可以是由一个函数返回某些东西的函数,该函数使用给出的另一个函数的结果作为参数来产生结果。

函子只是函数对象的同义词 - 也就是说,您可以像传递任何普通变量一样传递函数。 在 JavaScript 中,所有函数(无论是声明的、匿名的/命名的函数表达式,还是使用函数构造函数甚至内置函数创建的函数(都可以作为普通变量传递,因此 JavaScript 中的函数是一等对象。 不过,这并不真正适用于您的函数,因为您返回的是函数,而不是将函数作为参数传递。

在计算机科学中,通常,将函数作为输入或输出的函数称为"高阶函数"。