我是Javascript
的新手,我正在尝试理解一段代码。
代码如下:
function abcd (x){
return function(v){
return x && v ;
}
}
,如下所示:
abcd(false);
这里,编译器从何处获取v
的值,返回函数的属性来自。
答案 0 :(得分:1)
这是一种构造函数的方法,允许部分应用函数的参数。 这是一个curry功能。您可以查看此LINK以了解有关currying的更多信息
因此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