JavaScript-递归

时间:2020-04-11
本文章向大家介绍JavaScript-递归,主要包括JavaScript-递归使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

递归就是将一个大问题分解成 n 个相似的小问题,然后不断地调用自身去解决这些小问题,从而求出结果。

递归如果没有限制的话就会造成堆栈上限溢出。
递归 就是自己执行自己
 1 var i=1;
 2 function abc(){
 3         i++;//i==2
 4         if(i>3) return;
 5         abc1();
 6         console.log(i);//第二次打印4
 7     }
 8 
 9 abc();
10 
11 function abc1(){
12         i++;//i==3
13         if(i>3) return;
14         abc2();
15         console.log(i);//第一次打印4
16     }
17 
18 
19 function abc2(){
20         i++;//i==4
21         if(i>3) return;
22         abc();
23         console.log(i);
24     }

阶乘:

公式:n! = n * (n-1) * … * 1

 1 (function(){
 2     var i = 5;
 3     // 阶乘
 4     var antre= function(num){
 5         if (num > 0) {
 6             return num * antre(num - 1);
 7         } else {
 8             return 1;   // 0的阶乘也是1,因为 1!= 1*0!
 9         }
10     }
11     document.write(i + " 的阶乘是 "+ antre(i));
12 })();

原文地址:https://www.cnblogs.com/wyp-King/p/12680839.html