这段代码片段的流程是什么?

时间:2017-10-07 18:49:18

标签: javascript functional-programming

function makeAdjectifier(adjective) {
    return function(string) {
        return adjective + "" + string;
    };
}
var coolifier = makeAdjectifier("COOL");
console.log(coolifier("conference")); //outputs "COOLconference"

所以,我在这里看到的是正在调用coolifier函数,会议字符串作为参数传递,而coolifier则从makeAdjectifier输入,&酷被作为一个论点传递,所以形容词变得很酷。现在adjectifier再次返回一个以字符串作为参数的函数。如何在内部功能上使用会议,以便字符串变得与会议相等。

1 个答案:

答案 0 :(得分:1)

这种技术被称为" currying"最基本的解释是,当你调用" makeAdjectifier"时,你创建了一个函数,它不仅期望一个字符串,而且还知道在创建过程中分配的变量。

这里有一个很酷的参考:https://www.sitepoint.com/currying-in-functional-javascript/