你怎么称呼这种编程模式?

What do you call this programming pattern?

我正在尝试弄清楚如何在 JavaScript 中执行此操作,但似乎无法找到 Google 的正确词。这是一个相当普遍的模式。

someOperation(obj) { resultOfSomeOperation -> 
    anotherOperation(resultOfSomeOperation)
}

推测 someOperation 是一种方法,它以 obj 和具有签名 result -> ?? 的函数作为参数。你管这个叫什么?

我相信您指的模式是 "Callback" 模式,或者更一般地说 "Higher Order Functions",其中一个函数接受一个函数作为参数,然后使用传入的以某种方式发挥作用。一些示例是 Each、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 将给定函数应用于数组的每个元素,并将这些输出 returns 应用于新数组。这也可以通过提前定义函数并按名称传入来完成。

var exampleArray = [1, 2, 3, 4, 5];

var doubleValue = function(num) {
  return num * 2;
};

exampleArray.map(doubleValue);
// Returns [2, 4, 6, 8, 10];