Heim >Web-Frontend >js-Tutorial >Wie JavaScript Rekursion verwendet

Wie JavaScript Rekursion verwendet

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-04-29 09:12:432541Durchsuche

In diesem Artikel wird Ihnen die JavaScript-Rekursionsmethode vorgestellt. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie JavaScript Rekursion verwendet

Rekursion:

Die Funktion ruft die Funktion selbst auf, was eine Rekursion ist. Die Rekursion muss eine Endbedingung haben =5 ------->5+4+3+2+1

    function f1() {
        console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");
        f1();
    };
    f1();//浏览器崩溃,因为没有结束条件——死循环

	改进如下:
	    var i=0;
    function f1() {
        i++;
        if (i<5){
            f1();
        }
        console.log("从前有座山,山里有个庙,庙里有个老和尚给小和尚讲故事:");
    };
    f1();
Ausführungsprozess:

Der Code führt getSum(5) aus –>Geben Sie die Funktion ein, x ist zu diesem Zeitpunkt 5 , ausführen ist 5+getSum(4), zu diesem Zeitpunkt wartet der Code auf zu diesem Zeitpunkt 5+getSum(4), der Code berechnet nicht zuerst, führt zuerst getSum(4) aus, gibt die Funktion ein und führt sie aus 4+getSum(3), Warten, die erste Ausführung ist getSum(3), Funktion eingeben, 3+getSum(2) ausführen, warten, zuerst getSum(2) ausführen, Funktion eingeben, 2+getSum(1) ausführen ; warte, führe zuerst getSum(1) aus, die Beurteilung von x==1 wird ausgeführt, 1 zurückgegeben, also

Das Ergebnis von getSum(1) ist zu diesem Zeitpunkt 1, beginne zu gehen 2+getSum( 1) Das Ergebnis zu diesem Zeitpunkt ist: 2+ 1

Ausführung:

getSum(2)---->2+1

3+getSum(2) Das Ergebnis zu diesem Zeitpunkt ist 3+2+1

4+getSum(3) Das Ergebnis zu diesem Zeitpunkt ist 4+3+2+1

5+getSum(4) Das Ergebnis zu diesem Zeitpunkt ist 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));

A noch ein paar:

    结果: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

[Lernempfehlung:

Javascript-Tutorial für Fortgeschrittene

Das obige ist der detaillierte Inhalt vonWie JavaScript Rekursion verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen