ホームページ >ウェブフロントエンド >jsチュートリアル >再帰税計算関数が未定義を返すのはなぜですか?

再帰税計算関数が未定義を返すのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 06:55:09356ブラウズ

Why Does My Recursive Tax Calculation Function Return Undefined?

再帰関数が未定義を返します

提供された関数は再帰を使用して税金を計算しますが、再帰を停止できません。この問題は、関数の再帰アーム内で値が返されないために発生します。

if (taxWage > minWage) ブロック内:

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); 
}

コードは税金を再帰的に計算しますが、計算はしません。値を返すか、returnTax を設定します。 return ステートメントがない場合、戻り値は未定義になります。

これを修正するには、このアームに return ステートメントを追加できます。

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); 
}

この調整により、関数は次のようになります。値を返し、再帰が無期限に継続するのを防ぎます。

以上が再帰税計算関数が未定義を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。