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 函数的词,它根据其参数返回另一个函数?