如何使用 JavaScript 中具有约束的函数查找阶乘

How to find factorial using a function with constraints in JavaScript

我正在尝试使用具有以下约束条件的函数求整数的阶乘

1<=N<=10

下面是我的代码,但是当我执行它时,我收到了 NaN!你能解释一下并告诉我我的错误在哪里吗?非常感谢!

const factorial = function (n) {
  if (n >= 1 && n <= 10) {
    return n * factorial(n - 1);
  }
};

console.log(factorial(5));

尝试按照您的代码逐步执行,您会很容易找到问题。

当您没有 return 任何东西并尝试访问 returned 值时,您会得到未定义的值。

想象一下你的类型 factorial(3)

您的代码将 运行 3 * 2 * undefined

当 n = 1 时,您需要 return 1。