Rumah > hujung hadapan web > tutorial js > Mengapa Fungsi `cukai` JavaScript Rekursif Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Mengapa Fungsi `cukai` JavaScript Rekursif Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?

Linda Hamilton
Lepaskan: 2024-12-12 10:56:10
asal
899 orang telah melayarinya

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

Memahami Rekursi dalam JavaScript

Dalam pengaturcaraan, rekursi ialah teknik di mana fungsi memanggil dirinya sendiri untuk menyelesaikan masalah. Walaupun berkuasa, adalah penting untuk memahami cara rekursi berfungsi untuk mengelakkan ralat.

Masalah: Rekursi Tidak Ditamatkan

Dalam fungsi yang disediakan, isu timbul dengan panggilan rekursif pada talian 9:

taxes(tax, newSalary); 
Salin selepas log masuk

Panggilan rekursif ini tidak mengembalikan nilai, membawa kepada nilai pulangan yang tidak ditentukan apabila fungsi ditamatkan.

Menyelesaikan Isu Rekursif

Untuk membetulkan ini, pernyataan pemulangan mesti ditambahkan pada badan fungsi dalam panggilan rekursif, memastikan nilai dikembalikan setiap kali fungsi memanggil dirinya sendiri.

return taxes(tax, newSalary);
Salin selepas log masuk

Dengan mengembalikan nilai daripada panggilan rekursif, fungsi boleh mengumpul hasil dan menghentikan rekursi apabila keadaan dalam baris 6 tidak lagi dipenuhi (iaitu, cukaiWage ≤ minWage).

Aliran Fungsi Rekursif

  1. Fungsi mengira cukai awal.
  2. Jika cukaiWage melebihi pratakrif gaji minimum (minWage), ia mengira cukai tambahan secara rekursif.
  3. Ia mengemas kini jumlah cukai berdasarkan kadar cukai dan cukaiWage.
  4. Ia mengurangkan cukaiWage dengan perbezaan antara gaji semasa dan minimum.
  5. Ia berterusan rekursi sehingga cukaiUpah menjadi sama atau kurang daripada gaji minimum.
  6. Fungsi mengumpul cukai sepanjang caranya dengan menambahkannya pada cukai awal.

Atas ialah kandungan terperinci Mengapa Fungsi `cukai` JavaScript Rekursif Saya Gagal, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan