我正试图弄清楚如何在JavaScript中执行此操作,似乎无法为Google找到合适的字词。这是一种相当普遍的模式。
someOperation(obj) { resultOfSomeOperation ->
anotherOperation(resultOfSomeOperation)
}
推测someOperation是一种方法,它将obj
作为参数,并将一个带有签名result -> ??
的函数作为参数。你怎么称呼它?
答案 0 :(得分:1)
我相信你所指向的模式是“回调”模式,或更普遍的“高阶函数”,其中函数将函数作为参数,然后以某种方式使用传入的函数。一些例子是Every,Map,Reduce等......这些通常使用lambda函数。
以下是有关这些主题的一些信息:Callbacks on Wikipedia,JavascriptIsSexy Callbacks,Eloquent Javascript Chapter 5。
我依赖于Javascript示例,因为这是您使用的标记。随意问我澄清问题,我可以进一步解释。
以下是一个例子:
var exampleArray = [1, 2, 3, 4, 5];
exampleArray.map(function(num){
return num * 2
});
// Returns [2, 4, 6, 8, 10];
如您所见,map使用传入的匿名函数.Map将给定函数应用于数组的每个元素,并将这些输出返回到新数组。这也可以通过提前定义函数并按名称传递来完成。
var exampleArray = [1, 2, 3, 4, 5];
var doubleValue = function(num) {
return num * 2;
};
exampleArray.map(doubleValue);
// Returns [2, 4, 6, 8, 10];