NodeJS 下面的javascript代码的输出是什么?[关闭]

mmvthczy  于 2023-06-05  发布在  Node.js
关注(0)|答案(3)|浏览(204)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答复。

此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3天前关闭。
Improve this question

function recursion(x) {
  if (x < 0) return
  console.log(x)
  recursion(x - 1)
}
recursion(5);

我得到以下输出5 4 3 2 1 0 =>我想知道为什么0,在这一点上条件不是将为false吗

eufgjt7s

eufgjt7s1#

你设定的条件是如果(x = 5 < 0),这意味着它将迭代,直到“x”值不小于“0”。所以根据你的情况它需要0 .我希望你能找到答案。

6qfn3psc

6qfn3psc2#

您在if中有一个错误的条件,修复:

function recursion(x) {
if (x < 1) return
  console.log(x)
 recursion(x-1)
}
recursion(5);
yqyhoc1h

yqyhoc1h3#

有几种方法可以解决这个问题:

  • 小于或等于(<=0,或
  • 小于(<1
function recursion(x) {
  if (x <= 0) return; // base case
  console.log(x);
  recursion(x - 1);
}
recursion(5);

下面是迭代版本:

function iteratation(x) {
  while (x > 0) {
    console.log(x--);
    // Alternatively, two separate statements:
    // >> console.log(x);
    // >> x--;
  }
}
iteratation(5);

也可以写成:

function iteratation(x) {
  for (let i = x; x > 0; x--) {
    console.log(x);
  }
}
iteratation(5);

相关问题