Heim >Web-Frontend >js-Tutorial >Wie JavaScript Rekursion verwendet
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.
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
//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!