递归 递归的案例 递归的案例
生活随笔
收集整理的這篇文章主要介紹了
递归 递归的案例 递归的案例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遞歸
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// 遞歸:函數中調用函數自己,此時就是遞歸,遞歸中一定要有結束自己的條件var i = 0;function f1(){i++;if(i<5){f1();}console.log("從前有個山,山里有個廟,廟里有個和尚");} f1();</script> </head> <body></body> </html>遞歸的案例
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><script>// 求n個數字的和,5 計算1+2+3+4+5// var sum = 0;// for(var i=1;i<=5;i++){// sum += i;// }// console.log(sum);// 遞歸實現:求n個數字的和// 函數的聲明function getSum(x){if(x==1){return 1;}return x + getSum(x-1);}// 函數的調用console.log(getSum(100));/*** 執行過程* 代碼執行getSum(5)---->進入函數,此時的x是5,執行的是5+getSum(4),* 此時代碼等待* 此時5+getSum(4),代碼先不進行計算,先執行getSum(4),進入函數,執行的是* 4+getSum(3),等待,先執行的是getSum(3),進入函數,執行3+getSum(2),等待,* 先執行getSum(2),進入函數,2+getSm(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* * */</script> </head> <body></body> </html>?
總結
以上是生活随笔為你收集整理的递归 递归的案例 递归的案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 闭包案例产生多个相同的随机数 沙箱
- 下一篇: spring WebSocket详解