本文摘自PHP中文网,作者coldplay.xixi,侵删。
递归:
函数中用调用函数自己,此时就是递归,递归一定要有结束条件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
相关学习教程:javascript教程
小栗子:
递归实现:求n个数字的和 n=5 ------->5+4+3+2+1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
执行过程:
代码执行getSum(5)―>进入函数,此时的x是5,执行的是5+getSum(4),此时代码等待
此时5+getSum(4),代码先不进行计算,先执行getSum(4),进入函数,执行的是4+getSum(3),等待, 先执行的是getSum(3),进入函数,执行3+getSum(2),等待,先执行getSum(2),进入函数,执行 2+getSum(1);等待, 先执行getSum(1),执行的是x==1的判断,return 1,所以,
此时getSum(1)的结果是1,开始向外走出去
2+getSum(1) 此时的结果是:2+1
执行:
getSum(2)---->2+1
3+getSum(2) 此时的结果是3+2+1
4+getSum(3) 此时的结果是4+3+2+1
5+getSum(4) 此时的结果是5+4+3+2+1
1 |
|
再来几个:
1 2 3 4 5 6 7 8 9 10 |
|
1 2 3 4 5 6 7 8 9 |
|
递归:
函数中用调用函数自己,此时就是递归,递归一定要有结束条件
相关阅读 >>
更多相关阅读请进入《js》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者