ホームページ > ウェブフロントエンド > jsチュートリアル > 再帰的な JavaScript `taxes` 関数が失敗するのはなぜですか? どうすれば修正できますか?

再帰的な JavaScript `taxes` 関数が失敗するのはなぜですか? どうすれば修正できますか?

Linda Hamilton
リリース: 2024-12-12 10:56:10
オリジナル
899 人が閲覧しました

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

JavaScript の再帰を理解する

プログラミングにおいて、再帰とは、問題を解決するために関数自体を呼び出す手法です。強力ではありますが、エラーを回避するには再帰がどのように機能するかを理解することが重要です。

問題: 再帰が終了しない

提供された関数では、9 行目の再帰呼び出しで問題が発生します。

taxes(tax, newSalary); 
ログイン後にコピー

この再帰呼び出しは値を返さないため、関数の呼び出し時に未定義の戻り値が返されます。

再帰の問題の解決

これを修正するには、再帰呼び出し内の関数本体に return ステートメントを追加し、関数がそれ自体を呼び出すたびに値が返されるようにする必要があります。

return taxes(tax, newSalary);
ログイン後にコピー

再帰呼び出しから値を返すことにより、関数は結果を蓄積し、6 行目の条件が満たされなくなったときに再帰を停止できます。 (つまり、taxWage ≤ minWage)。

再帰関数フロー

  1. この関数は、初期税金を計算します。
  2. taxWage が事前に定義された最低賃金 (minWage) を超える場合、追加の税金を再帰的に計算します。
  3. それに基づいて税額を更新します。
  4. 現在の賃金と最低賃金の差分だけ、taxWage を減額します。
  5. taxWage が最低賃金以下になるまで再帰を続けます。 .
  6. この関数は、初期税金に追加することで途中で税金を蓄積します。

以上が再帰的な JavaScript `taxes` 関数が失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート