Javascript 关于freeCodeCamp挑战的问题:参数可选

Javascript 关于freeCodeCamp挑战的问题:参数可选,javascript,arguments,Javascript,Arguments,我被freeCodeCamp.org上的一门课程困住了 下面的代码是我写的。 在该代码中,相加(2)(3)应为5。 但与此相反,addTogether(2)(3)是“未定义的” 有什么问题吗 我阅读了freecodecamp论坛的所有提示。但我不明白 函数addTogether(){ var checkNum=函数(x){ 如果(x的类型==“编号”){ 返回x }否则{ 返回未定义 } } 如果(arguments.length>1){ if(checkNum(参数[0])!==未定义和&

我被freeCodeCamp.org上的一门课程困住了

下面的代码是我写的。 在该代码中,相加(2)(3)应为5。 但与此相反,addTogether(2)(3)是“未定义的”

有什么问题吗

我阅读了freecodecamp论坛的所有提示。但我不明白

函数addTogether(){
var checkNum=函数(x){
如果(x的类型==“编号”){
返回x
}否则{
返回未定义
}
}
如果(arguments.length>1){
if(checkNum(参数[0])!==未定义和&checkNum(参数[1])!==未定义){
返回参数[0]+参数[1]
}否则{
返回未定义
}
}否则{
变量a=参数[0]
if(checkNum(a)==未定义){
返回未定义
}否则{
返回函数(args2){
args2+a
}
}
}
返回false;
}

log(addTogether(2)(3))
返回的函数没有返回值。你可以用

  return function(args2) {
     return args2 + a
  }


我得到了它。谢谢请为你的答案提供更多的上下文。谢谢
  return (args2) => args2 + a
function addTogether(a,b) {

    
  
    if (arguments.length==2){
      if (typeof a == "number" && typeof b == "number"){
        return a + b;
      }
    }

    if(arguments.length==1){
      if (typeof a == "number"){
        return function(b){
          if (typeof b == "number"){
            return a + b;
          }
        };
      }
    }

}