是否有返回函数的javascript函数的名称?
作者:互联网
Javascript允许我们编写使用其参数来构建和返回具有特定行为的另一个(通常是匿名的)函数的函数. Currying就是一个例子.
为了说明,这种方法可用于优雅地对任意属性上的对象数组进行排序:
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中的函数是第一类对象.这并不适用于您的函数,因为您返回一个函数,而不是将函数作为参数传递.
标签:javascript,functional-programming,nomenclature 来源: https://codeday.me/bug/20190831/1775880.html