Javascript 返回包含属性的函数中的函数

Javascript 返回包含属性的函数中的函数,javascript,Javascript,我对Javascript非常陌生,我正在尝试理解一段代码 代码如下所示: function abcd (x){ return function(v){ return x && v ; } } 它的名称如下: abcd(false); 在这里,编译器从哪里获得返回函数的属性v。这是一种构造函数的方法,允许部分应用函数的参数。 这是一个咖喱函数。你可以查看这个来了解更多关于咖喱的知识 依此类推abcd(假)将返回内部函数 return functi

我对
Javascript
非常陌生,我正在尝试理解一段代码

代码如下所示:

function abcd (x){
    return function(v){
        return x && v ;
    }
}
它的名称如下:

abcd(false);

在这里,编译器从哪里获得返回函数的属性
v

这是一种构造函数的方法,允许部分应用函数的参数。 这是一个咖喱函数。你可以查看这个来了解更多关于咖喱的知识

依此类推
abcd(假)将返回内部函数

return function(v){
        return x && v ;
    }
但是
abcd(false)(false)
将返回
false

为了便于理解,您可以稍微修改上述函数

function abcd (x){
    return function(v){
        return x + v ;
    }
}
var _a = abcd(1)(1); // will log 2

没有
abcd
返回一个新函数,需要调用该函数才能使
v
具有值。因为在您的示例中没有调用该函数,所以to
v
甚至不存在。仅供参考,
x
v
是函数的参数,而不是属性。嗯,
abcd
返回函数,因此
abcd(false)
是函数 — 此函数正好接收参数
v
。示例:
abcd(假)(真)
返回
false
。它被称为函数curry。如果函数部分执行,则返回另一个函数,以便可以像myfunction(param1)(param2)一样链接它;