
获得徽章 0
- 递归是一种解决问题的方法,它从解决问题的各个小部分开始,直到解决最初的大问题。递归通常涉及函数调用自身。为了不让函数无限调用下去,递归函数必须有基线条件(停止递归的条件),不然会出现调用栈溢出的错误。
function factorial(n) {
if (n === 1 || n === 0) { // 基线条件
return 1;
}
return n * factorial(n - 1); // 递归调用
}
console.log(factorial(5)); // 120
递归区别于死循环,有个递进再回归的过程
ps 昨天面试问我栈的应用,我没答出来展开评论8