Beim Erlernen von js ist der Inhalt der Rekursion ziemlich kompliziert, daher habe ich den relevanten Inhalt zur Rekursion für Sie zusammengestellt. Der Artikel stellt ihn im Detail anhand des Fallcodes vor, der für das Lernen aller hilfreich sein wird In diesem Artikel habe ich zunächst den grundlegenden Inhalt der Rekursion vorgestellt, damit jeder ein Wissenskonzept haben kann, damit spätere Studien nicht verwirrend sind. Anschließend habe ich Beispiele für die Verwendung der Rekursion aufgelistet. Apache PHP MySQL
Vorwort
Es ist eine unbestrittene Tatsache, dass die rekursive Leistung schlecht ist. Wenn Sie denken, dass die for-Schleife besser ist, dann ist das so Sie müssen die Rekursion nicht lernen. Dann müssen Sie nicht mehr lesen, wenn Sie dies sehen. Der Großteil des in diesem Artikel gezeigten Codes dient nur Lernzwecken und ich empfehle nicht, ihn in einer Produktionsumgebung zu verwenden. Wenn Sie sich jedoch für funktionale Programmierung interessieren und einige der Kernkonzepte im Detail verstehen möchten, sollten Sie weiterlesen.
Als ich Anfang dieses Jahres anfing, Haskell zu lernen, war ich von der Eleganz und Einfachheit des funktionalen Codes fasziniert. Der Code kann tatsächlich so geschrieben werden! Die Verwendung von imperativem Code erfordert das Schreiben vieler Programme, die mit nur wenigen Rekursionszeilen gelöst werden können. In diesem Artikel werde ich die rekursiven Funktionen, die ich in Haskell gesehen habe, in JS und Python übersetzen und versuchen, jeden Schritt zu erklären. Abschließend werde ich versuchen, das Problem der rekursiven Stapelexplosion (Stack Overflow) zu lösen.
Rekursionsgrundlagen
Ich beginne mit Python-Code und zeige dann die JS-Implementierung.
Viele Tutorials, die die Rekursion erklären, beginnen mit der Erklärung der Fibonacci-Folge. Ich denke, dass hier ein bereits komplexes Konzept verwendet wird, um ein anderes komplexes Konzept zu erklären, was unnötig ist. Beginnen wir mit einfachem Code.
Führen Sie diesen Python-Code aus:
def foo(): foo() foo()
Natürlich wird ein Fehler gemeldet.
Das obige ist der detaillierte Inhalt vonOrganisieren Sie systematisch die Anwendung rekursiver js-Funktionen und lösen Sie das Problem der rekursiven Stapelexplosion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!