首頁 > web前端 > js教程 > 為什麼我的遞歸 JavaScript `taxes` 函數失敗,我該如何修復它?

為什麼我的遞歸 JavaScript `taxes` 函數失敗,我該如何修復它?

Linda Hamilton
發布: 2024-12-12 10:56:10
原創
887 人瀏覽過

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. 它根據稅率和taxWage。
  4. 將taxWage減少目前工資與最低工資之間的差額。
  5. 繼續遞歸,直到taxWage等於或小於最低工資.
  6. 該函數透過將稅款添加到初始稅款中來累積稅款。

以上是為什麼我的遞歸 JavaScript `taxes` 函數失敗,我該如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板