亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于JS遞歸的用法

發布時間:2020-06-30 11:22:57 來源:億速云 閱讀:184 作者:清晨 欄目:web開發

這篇文章主要介紹關于JS遞歸的用法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

遞歸:

函數中用調用函數自己,此時就是遞歸,遞歸一定要有結束條件

    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));

以上是關于JS遞歸的用法的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁国市| 阿拉善右旗| 都江堰市| 富蕴县| 阿坝| 历史| 炉霍县| 弥勒县| 夏邑县| 通榆县| 黄山市| 莫力| 罗江县| 肃北| 五莲县| 馆陶县| 樟树市| 比如县| 皮山县| 石台县| 新郑市| 京山县| 正安县| 离岛区| 句容市| 宜黄县| 南城县| 池州市| 凤台县| 枣强县| 武安市| 三穗县| 鱼台县| 罗定市| 溧水县| 山阴县| 稻城县| 云霄县| 陇西县| 章丘市| 奎屯市|