当前位置: 首页 > 知识库问答 >
问题:

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

倪灿
2023-03-14

我在freecodecamp.org https://www.freecodecamp.org/learn/javascript-algorithors-and-data-structures/mediatory-algorith-scripting/arguments-optional

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

有什么问题?

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

null

function addTogether() {

  var checkNum = function(x) {
    if (typeof x === "number") {
      return x
    } else {
      return undefined
    }
  }

  if (arguments.length > 1) {
    if (checkNum(arguments[0]) !== undefined && checkNum(arguments[1]) !== undefined) {
      return arguments[0] + arguments[1]
    } else {
      return undefined
    }

  } else {
    var a = arguments[0]
    if (checkNum(a) === undefined) {
      return undefined
    } else {
      return function(args2) {
        args2 + a
      }
    }
  }

  return false;
}

console.log(addTogether(2)(3))

null

共有1个答案

方树
2023-03-14

返回的函数没有返回值。你可以用

  return function(args2) {
     return args2 + a
  }

  return (args2) => args2 + a
 类似资料:
  • 问题内容: 据说SpringLayout非常强大。我试图使用SpringLayout实现我认为是相当简单的布局,但是我失败了。 减少到最低限度,我希望在JFrame上并排放置4个JButton: 我希望所有4个文本的大小相同,无论文本如何不同。 我希望最外面的一个(b1和b4)与容器的边界之间保持恒定的水平距离,即5 px,并且与按钮的南北之间的边界都保持5 px,它们的高度均相同。 我希望按钮之

  • 1) 应该接受参数int,但为什么以下内容可以编译? 应返回,而不是int。 2)为什么下面不能编译?

  • 看看这两个输出的为什么不一样?

  • 我正在使用AF并使用它的委托来捕获我的服务器返回的身份验证质询。 我的问题: > 如果我按原样使用上面的代码,我会 错误:“将非转义参数'completionHander'传递给需要@escaping闭包的函数” 如果我使函数handleAuthenticationSession的参数不转义,我会得到: 错误:“使用非转义参数“completion”可能会使其转义” 此外,AuthHandler类

  • 关键技术和挑战 从技术角度讲,区块链涉及到的领域比较杂,包括分布式、存储、密码学、心理学、经济学、博弈论、网络协议等,下面列出了目前认为有待解决或改进的关键技术点。 密码学技术 怎么防止交易记录被篡改? 怎么证明交易方的身份? 怎么保护交易双方的隐私? 密码学正是要提供解决这些问题的有效手段。传统方案包括 hash 算法,加解密算法,数字证书和签名(盲签名、环签名)等。区块链技术的应用将可能刺激密

  • 在使用spring Cglib代理时,我们需要实现一个MethodInterceptor回调,我对这个回调有一些问题。为了让它更清楚,让我们使用一个简单的例子。 下面是我的目标类MyPlay.java 我创建了一个回调: 在我的主要班级: 我对intercept方法的参数的含义感到困惑: 问题:和参数是什么?它们之间有什么区别?当我使用methodProxy调用时,它也起作用,这让我感到困惑。