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

Return functions within functions containing attribute

本文关键字:函数 属性 包含 返回      更新时间:2023-09-26

我对Javascript还很陌生,我正在努力理解一段代码。

代码如下:

function abcd (x){
    return function(v){
        return x && v ;
    }
}

它被称为如下:

abcd(false);

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

这是一种构造函数的方法,允许部分应用函数的参数。这是一个curried函数。您可以查看LINK以了解有关当前的更多信息

所以在abcd(false);上将返回内部函数

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