来直接来看代码
其实递归函数和循环很类似
- 需要有初始化,自增,执行代码,条件判断的,不然就是一个没有尽头的递归函数,我们叫做 **死递归**
## 简单实现一个递归
- 我们先在用递归函数简单实现一个效果
- 需求: 求 1 至 5 的和
- 先算 1 + 2 得 3
- 再算 3 + 3 得 6
- 再算 6 + 4 得 10
- 再算 10 + 5 得 15
- 结束
- 开始书写,写递归函数先要写结束条件(为了避免出现 “死递归”)
```javascript
function add(n) {
// 传递进来的是 1
// 当 n === 5 的时候要结束
if (n === 5) {
return 5
}
}
add(1)
```
- 再写不满足条件的时候我们的递归处理
```javascript
function add(n) {
// 传递进来的是 1
// 当 n === 5 的时候要结束
if (n === 5) {
return 5
} else {
// 不满足条件的时候,就是当前数字 + 比自己大 1 的数字
return n + add(n + 1)
}
}
add(1)
```