获取实际输出JavaScript后我得到了未定义的[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

每次当我运行此代码时,我得到输出但是使用该输出我也得到undefined undefined指示的是什么

function factorial(num) {

  let final = 1;

  function helper(no) {
    if (no === 0) return;
    if (no > 1) {
      final *= no;
    }
    no--;
    helper(no);
  }
  helper(num);
  console.log(final);
}

factorial(5)
javascript recursion
1个回答
0
投票

你的阶乘函数确实没有返回任何东西。

你正在做一个console.log来打印这个值,最后没有“返回”相当于有一个隐含的return undefined

您的浏览器控制台将输出函数的返回值,这就是您可能感到困惑的原因。

使用return final而不是(或除了)你的console.log(final);

如果您希望您的阶乘函数实际返回一个值(您可以在以后使用)而不是仅将其打印到控制台,那么这将是首选。

© www.soinside.com 2019 - 2024. All rights reserved.