温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript怎么使用递归

发布时间:2021-04-29 09:40:36 来源:亿速云 阅读:161 作者:小新 栏目:web开发

这篇文章将为大家详细讲解有关JavaScript怎么使用递归,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

html有什么特点

1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,适合初学前端开发者使用。 2、可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。  3、平台无关性:超级文本标记语言能够在广泛的平台上使用,这也是万维网盛行的一个原因。 4、通用性:HTML是网络的通用语言,它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

递归:

函数中用调用函数自己,此时就是递归,递归一定要有结束条件

    function f1() {         console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");         f1();     };     f1();//浏览器崩溃,因为没有结束条件——死循环	改进如下:	    var i=0;     function f1() {         i++;         if (i<5){             f1();         }         console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");     };     f1();

小栗子:

递归实现:求n个数字的和 n=5 ------->5+4+3+2+1

//for 循环写法:     var sum=0;     for (var i=0;i<=5;i++){         sum+=i;     }     console.log(sum); ----------------------分割线---------------------------    function getSum(x) {         if (x==1){           return 1         }         return x+getSum(x-1);     };     var sum1=getSum(5);     console.log(sum1);     console.log(getSum(10));

执行过程:
代码执行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

    结果:15

再来几个:

    //递归案例:求一个数字各个位数上的数字的和:  123   --->6 ---1+2+3     //523     function getEverySum(x) {         if(x<10){             return x;         }         //获取的是这个数字的个位数         return x%10+getEverySum(parseInt(x/10));     }     console.log(getEverySum(1364));//5
 //递归案例:求斐波那契数列     function getFib(x) {         if(x==1||x==2){             return 1         }         return getFib(x-1)+getFib(x-2);     }     console.log(getFib(12));

关于“JavaScript怎么使用递归”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI