递归函数
-
递归函数
-
在函数内部, 调用自身, 此时就是写了一递归, 但 它是死递归
-
要想写一个正确的递归函数, 需要在递归内部, 写上 返回点(到某个条件时, 停止递归)
-
function fn(n) {
// 1. 先写折返点, 到某个条件停止递归
if (n == 1) return 1
// 2. 不符合结束递归时的代码
return n * fn(n - 1)
}
// function fn() { // 死循环版本
// fn()
// }
// fn()
斐波那契数列
- 有一个数列
- 第一位和第二位 固定为 1
- 从第三位开始, 每个位置的数字, 是前两位的和
- 1 1 2 3 5 8 13 21 34
function fn(n) {
if (n == 1 || n == 2) {
return 1
}
return fn(n - 1) + fn(n - 2)
}
var sum = fn(10)
console.log(sum);