Heim > Web-Frontend > js-Tutorial > Warum gibt meine rekursive Steuerberechnungsfunktion „Undefiniert' zurück?

Warum gibt meine rekursive Steuerberechnungsfunktion „Undefiniert' zurück?

Linda Hamilton
Freigeben: 2024-12-10 06:55:09
Original
367 Leute haben es durchsucht

Why Does My Recursive Tax Calculation Function Return Undefined?

Rekursive Funktion gibt undefiniert zurück

Die bereitgestellte Funktion berechnet Steuern mithilfe der Rekursion, kann die Rekursion jedoch nicht stoppen. Dieses Problem entsteht dadurch, dass im rekursiven Arm der Funktion kein Wert zurückgegeben wird.

Im if (taxWage > minWage)-Block:

if (taxWage > minWage) {
    // calculates tax recursively calling two other functions difference() and taxStep() 
    tax = tax + difference(taxWage) * taxStep(taxWage);
    var newSalary = taxWage - difference(taxWage);
    taxes(tax, newSalary); 
}
Nach dem Login kopieren

Der Code berechnet Steuern rekursiv, tut dies jedoch nicht einen Wert zurückgeben oder returnTax festlegen. Das Fehlen einer Return-Anweisung führt zu einem undefinierten Rückgabewert.

Um dies zu beheben, kann eine Return-Anweisung zu diesem Arm hinzugefügt werden:

if (taxWage > minWage) {
    // calculates tax recursively calling two other functions difference() and taxStep() 
    tax = tax + difference(taxWage) * taxStep(taxWage);
    var newSalary = taxWage - difference(taxWage);
    return taxes(tax, newSalary); 
}
Nach dem Login kopieren

Mit dieser Anpassung wird die Funktion jetzt ausgeführt Geben Sie einen Wert zurück, um zu verhindern, dass die Rekursion auf unbestimmte Zeit fortgesetzt wird.

Das obige ist der detaillierte Inhalt vonWarum gibt meine rekursive Steuerberechnungsfunktion „Undefiniert' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage