如何通过在javascript中一起使用函数和闭包来获得相同的结果

前端之家收集整理的这篇文章主要介绍了如何通过在javascript中一起使用函数和闭包来获得相同的结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要进行以下(下面)函数调用,以在两种情况下给出相同的结果:
sum(5,4);   // 9
sum(5)(4);   // this should also print 9

我尝试了以下但它不起作用:

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;
   }

 }

有什么建议?

解决方法

尝试根据您的要求调整您的功能,
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

猜你在找的JavaScript相关文章