【发布时间】:2021-11-04 00:41:24
【问题描述】:
解释一下这个 JavaScript 递归,当 0
function-foo 返回 console.log("test")
是不是在return语句中传递的console.log()异常?
是否该数组对于索引 3 和 4 有两个 0,因为 foo 评估 0 两次,因为一旦 i-1 达到 1-1 递归调用应该是 foo(0) 是吗?
但是继续,但是 console.log 被调用了两次,其中 foo() 递归调用在两者之间被提升了 order 在这里有什么区别?
我不明白为什么这些是结果
let ar = [];
function foo(i) {
if (i < 0)
return console.log("test");
ar.push(i);
console.log(i, Boolean(i<0));
foo(i - 1);
ar.push(i);
console.log(i, Boolean(i<0));
}
foo(3)
console.log('ar=', JSON.stringify( ar ))
.as-console-wrapper { max-height: 100% !important; top: 0 }
【问题讨论】:
标签: javascript arrays recursion