我需要进行以下(下面)函数调用,以在两种情况下给出相同的结果:
sum(5,4); // 9
sum(5)(4); // this should also print 9
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但它不起作用:
function sum(x,y){
var a = x;
var b = y;
if (y == undefined && y == ''){
return function (a,b){
return a +b;
}
}
else {
return a +b;
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?
尝试curry您的功能以满足您的要求,
function sum(x,y){
if(y === undefined){
return function(y){ return x+y; }
} else {
return x + y;
}
}
sum(5,4); // 9
sum(5)(4); // 9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |