这篇文章主要讲解了“怎么理解Js中的递归”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Js中的递归”吧!
成都网站建设、成都做网站服务团队是一支充满着热情的团队,执着、敏锐、追求更好,是创新互联的标准与要求,同时竭诚为客户提供服务是我们的理念。成都创新互联把每个网站当做一个产品来开发,精雕细琢,追求一名工匠心中的细致,我们更用心!递归的基础
递归的概念
•在程序中函数直接或间接调用自己•直接调用自己
•间接调用自己
•跳出结构,有了跳出才有结果
递归的思想
•递归的调用,最终还是要转换为自己这个函数•如果有个函数foo,如果他是递归函数,到最后问题还是转换为函数foo的形式
•递归的思想就是将一个未知问题转换为一个已解决的问题来实现
functionfoo(){
...foo(...)...
}
递归的步骤(技巧)
1.假设递归函数已经写好
2.寻找递推关系
3.将递推关系的结构转换为递归体
4.将临界条件加入到递归体中
简单递归练习
求1-100的和
•分析:
•假设递归函数已经写好为sum,既sum(100),就是求1-100的和
•寻找递推关系:就是n与n-1,或n-2之间的关系
sum(n)==sum(n-1)+n
varres=sum(100);
varres=sum(99)+100;
3.将递归结构转换成递归体
functionsum(n){
returnsum(n-1)+n;
}
4.将临界条件加入到递归中
•求100转换为求99
•求99转换为求98
•求98转换为求97
•...
•求2转换为求1
•求1转换为求1
•即sum(1)=1
5.递归函数
functionsum(n){
if(n==1)return1;
returnsum(n-1)+n;
求1,3,5,7,9,...第n项的结果和前n项和,序号从0开始
•分析•假设递归函数已经完成foo(n),得到奇数
•递归关系:◦foo(n)=foo(n-1)+2
•递归体
functionfoo(n){
returnfoo(n)=sum(n-1)+2;
}
4.跳出条件
•foo(n)=foo(n-1)+2
•foo(1)=foo(0)+2
•foo(0)=1;
感谢各位的阅读,以上就是“怎么理解Js中的递归”的内容了,经过本文的学习后,相信大家对怎么理解Js中的递归这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联网站建设公司,,小编将为大家推送更多相关知识点的文章,欢迎关注!