Pengendalian Rekursi dalam JavaScript
Dalam pengaturcaraan, terdapat satu konsep yang dipanggil
rekursi - ini ialah apabila suatu fungsi memanggil
dirinya sendiri. Mari kita lihat contohnya.
Mari keluarkan nombor dari 1
hingga 10 menggunakan rekursi:
let i = 1;
function func(){
console.log(i);
i++;
if (i <= 10){
func(); // di sini fungsi memanggil dirinya sendiri
}
}
func();
Mari kita bincangkan bagaimana kod ini berfungsi.
Kami mempunyai pembolehubah global i
dan fungsi func, di dalamnya konsol
memaparkan kandungan pembolehubah i,
kemudian dilakukan ++.
Jika pembolehubah kami i kurang daripada atau
sama dengan 10, maka fungsi tersebut dipanggil semula.
Oleh kerana pembolehubah i adalah global,
maka pada setiap panggilan fungsi baharu di dalamnya
akan terdapat nilai yang ditetapkan semasa panggilan sebelumnya
pembolehubah i.
Hasilnya, fungsi akan memanggil
dirinya sendiri sehingga i
menjadi lebih besar daripada 10.
Perhatikan, bahawa dalam kes kami, fungsi tidak boleh
dijalankan tanpa if - jika ini dilakukan,
ia akan menghasilkan panggilan fungsi yang tidak terhingga.