【发布时间】:2021-10-15 20:32:23
【问题描述】:
这里是代码。
print(5);
function print(n) {
if (n == 0) {
return;
}
print(n - 1); //call function recursively
console.log(n);
}
我希望在 return 语句之后 console.log(n) 会输出零 (0),因为这是我调用 return 语句时 n 的值。相反,它返回 1 - 5 ??? Return 只调用了一次,所以谁能解释这里发生了什么?
【问题讨论】:
-
最后一次递归调用是
n = 1。结果,最后一次递归调用是:print(n - 1)-->print(1 - 1)-->print(0)。不打印零是因为当n = 0时,您从函数返回 - 在该函数调用中未达到console.log。 -
嗨,Sam,如果我的回答有帮助,请随时接受答案。如果您想了解更多信息,请在评论中弹出,我会尽力详细说明。
标签: javascript function recursion