This question already has answers here:
How do JavaScript closures work?
(86个答案)
2年前关闭。
因此,我在这里看到的是调用coolifier函数并将会议字符串作为参数传递,并且coolifier从makeAdjectifier获取输入,&cool作为参数传递,从而形容词变得很酷。现在,形容词再次返回以字符串为参数的函数。内部函数如何提供会议,使字符串等于会议。
(86个答案)
2年前关闭。
function makeAdjectifier(adjective) {
return function(string) {
return adjective + "" + string;
};
}
var coolifier = makeAdjectifier("COOL");
console.log(coolifier("conference")); //outputs "COOLconference"
因此,我在这里看到的是调用coolifier函数并将会议字符串作为参数传递,并且coolifier从makeAdjectifier获取输入,&cool作为参数传递,从而形容词变得很酷。现在,形容词再次返回以字符串为参数的函数。内部函数如何提供会议,使字符串等于会议。
最佳答案
该技术称为“ currying”,最基本的解释是,当您调用“ makeAdjectifier”时,您创建了一个函数,该函数不仅期望一个字符串,而且知道在其创建过程中分配的变量。
这是一个很酷的参考:https://www.sitepoint.com/currying-in-functional-javascript/