Heim >Web-Frontend >js-Tutorial >Warum schlägt meine rekursive JavaScript-Funktion „Steuern' fehl und wie kann ich das Problem beheben?

Warum schlägt meine rekursive JavaScript-Funktion „Steuern' fehl und wie kann ich das Problem beheben?

Linda Hamilton
Linda HamiltonOriginal
2024-12-12 10:56:10900Durchsuche

Why Does My Recursive JavaScript `taxes` Function Fail, and How Can I Fix It?

Rekursion in JavaScript verstehen

In der Programmierung ist Rekursion eine Technik, bei der sich eine Funktion selbst aufruft, um ein Problem zu lösen. Obwohl sie leistungsstark ist, ist es wichtig zu verstehen, wie Rekursion funktioniert, um Fehler zu vermeiden.

Das Problem: Rekursion wird nicht beendet

In der bereitgestellten Funktion tritt das Problem mit dem rekursiven Aufruf in Zeile 9 auf:

taxes(tax, newSalary); 

Dieser rekursive Aufruf gibt keinen Wert zurück, was zu einem undefinierten Rückgabewert führt, wenn die Funktion ausgeführt wird wird beendet.

Behebung des Rekursionsproblems

Um dieses Problem zu beheben, muss dem Funktionskörper innerhalb des rekursiven Aufrufs eine Return-Anweisung hinzugefügt werden, um sicherzustellen, dass jedes Mal, wenn sich die Funktion selbst aufruft, ein Wert zurückgegeben wird.

return taxes(tax, newSalary);

Durch die Rückgabe eines Werts aus dem rekursiven Aufruf kann die Funktion Ergebnisse akkumulieren und die Rekursion stoppen, wenn die Bedingung in Zeile 6 nicht mehr erfüllt ist (d. h. taxWage ≤ minWage).

Rekursiver Funktionsablauf

  1. Die Funktion berechnet anfängliche Steuern.
  2. Wenn der taxWage einen vordefinierten Mindestlohn (minWage) überschreitet, Es berechnet rekursiv zusätzliche Steuern.
  3. Es aktualisiert den Steuerbetrag basierend auf dem Steuersatz und dem Steuerlohn.
  4. Es reduziert den Steuerlohn um die Differenz zwischen dem aktuellen und dem Mindestlohn.
  5. Die Rekursion wird fortgesetzt, bis der Steuerlohn gleich oder kleiner als der Mindestlohn wird.
  6. Die Funktion akkumuliert die Steuern auf dem Weg, indem sie sie zu den ursprünglichen Steuern addiert.

Das obige ist der detaillierte Inhalt vonWarum schlägt meine rekursive JavaScript-Funktion „Steuern' fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn