JavaScript-递归
Posted wyp-king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 })();
以上是关于JavaScript-递归的主要内容,如果未能解决你的问题,请参考以下文章
精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)
VSCode自定义代码片段12——JavaScript的Promise对象