javascript核心技术(四十五)深入学习函数(一) 递归函数

[复制链接]
查看: 1411|回复: 31
发表于 2023-1-28 15:50:21 | 显示全部楼层 | 阅读模式
何为递归:
函数自己调用自己。


应用场景:
当函数的运行结果依赖该函数的上一次运行结果时就需要递归。


注意事项:
1、递归必须要有出口,否则是死循环。
2、如果递归层级太深对资源的消耗很大。

案例:
请看如下数字,寻找规律并填写括号中应该是什么?
0 1 3 6 10 15 21 28 36 () 55

以上数字的规律为:
除了第一个0以外,后面的数字等于前面的数字+该数字所在位置,所以括号中的数字应该是45。
1 3 6 10 15 21 28 36
1=0+1
3=1+2
6=3+3
10=6+4
...
45=36+9
所以可以用以下函数来表达
  1. f(n) = f(n-1) + n;
复制代码
f(n) 即:给函数传入一个数字,这个数字是1、2、3、4.......,求出对应位置上的那个数字是什么
f(n-1) + n 即:传入参数所代表的位置前面的数字+传入的数字

即:下一次的计算结果依赖上一次的计算结果,所以需要递归。

代码如下:
<!DOCTYPE html>
<html>
<head>
        <title>深入学习函数(一) 递归函数</title>
        <script src="./jquery.js"></script>
</head>
<body>
        <script type="text/javascript">
        function f1(n){
                if(n == 0){
                        return 0;
                }else{
                        return n + f1(n-1);
                }
        }
        console.log( f1(0) );
        console.log( f1(1) );
        console.log( f1(2) );
        console.log( f1(3) );
        console.log( f1(4) );
        console.log( f1(5) );
        console.log( f1(6) );
        console.log( f1(7) );
        console.log( f1(8) );
        console.log( f1(9) );
        console.log( f1(100) );
        </script>
</body>
</html>


javascript核心技术(四十五)深入学习函数(一) 递归函数

应用递归的场景往往会涉及一些算法,这部分内容比较深奥,大家尽力理解,对于入门来说,不理解也可以。


易博软件介绍

0

主题

12

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2023-2-21 05:52:21 | 显示全部楼层
太好了.

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-6 14:33:07 | 显示全部楼层
我看了你写的这些真的对我影响很大,虽然我还是一个学生,还没有进入社会,但要相信天外有天,人外有人,永远不要认为自己已经学好了

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-17 18:25:40 | 显示全部楼层
有同感

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-25 15:37:11 | 显示全部楼层
好意!  肯请楼主带主角去测测智商,  情商为0就不用了!

0

主题

14

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-31 19:51:39 | 显示全部楼层
真的使我体会到好多~~~~~~~~~~~~~~~~学海无崖

0

主题

9

帖子

5

积分

营销入门

Rank: 2

积分
5
发表于 2023-4-5 03:50:59 | 显示全部楼层
现在的竞争是越来越激烈了,以后怎么才能挖掘与纵不同的才能啊  

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-4-10 07:50:29 | 显示全部楼层
我还是一名程序菜鸟,学习编程还不到一年,但是今天看了这篇文章感触真的很深!我现在的状态就是能运行,没有错误了就算胜利了!现在才发现自己在一条错误的路上前进!以前也曾意识到编程要仔细分析程序的效率,质量!但是作起来真的不是容易的!我现在真的很彷徨,我是不是真的适合编程工作!学习C语言已经快三个月了,一直想往深的方向学习!但是现在真的感到好难好难!真的不知道前边有没有出路!但从心里又不甘心放弃半年来的努力!真的是左右为难!在此恳请各位高手为我指点迷津!不胜感激!希望各位大侠不吝赐教!在此谢过了!
发表于 2023-4-14 22:48:42 | 显示全部楼层
我也相信中国有世界上最好的程序员!我是第一次到这里来,进入我眼的就是这篇文章。我现在也在学编程。我看了感触好深哦。对我真是一次极大的教育。
发表于 2023-4-19 18:54:00 | 显示全部楼层
很好,入行前看了必以一种编程的正常心态去学好并应用.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表