【发布时间】:2020-04-14 09:28:51
【问题描述】:
这两个递归函数有区别吗?一个带有 return 语句,一个没有它用于递归调用。他们都在控制台浏览器中打印数字 1 - 8,我的问题是当递归发生时是否有一些优化发生在返回与没有返回时。
const solution = (input, i = 0) => {
if (i === input) return // base case
console.log(i)
return solution(input, i + 1) // return recursive call
}
const solution2 = (input, i = 0) => {
if (i === input) return // base case
console.log(i)
solution2(input, i + 1) // recursive call
}
console.log(solution(4))
console.log("----")
console.log(solution2(4))
【问题讨论】:
-
你为什么不自己运行它们,看看有什么不同
-
我相信每个函数都有一个隐式返回,所以这样说没有区别
标签: javascript recursion indexing numbers return