Bekerja dengan Rekursi di JavaScript

Dalam pemrograman, ada konsep yang disebut rekursi - ini adalah ketika suatu fungsi memanggil dirinya sendiri. Mari kita lihat sebuah contoh. Tampilkan angka dari 1 hingga 10 menggunakan rekursi:

javascriptlet i = 1;

function func(){
  console.log(i);
  i++;
  
  if (i <= 10){
    func(); // di sini fungsi memanggil dirinya sendiri
  }
}
func();

Mari kita bahas bagaimana kode ini bekerja.

Kami memiliki variabel global i dan fungsi func, di dalamnya konsol menampilkan isi variabel i, dan kemudian dilakukan ++.

Jika variabel kami i kurang dari atau sama dengan 10, maka fungsi dipanggil kembali. Karena variabel i - global, maka pada setiap pemanggilan fungsi baru di dalamnya akan ada nilai variabel i yang ditetapkan pada pemanggilan sebelumnya.

Hasilnya, fungsi akan memanggil dirinya sendiri sampai i menjadi lebih besar dari 10.

Perhatikan, bahwa dalam kasus kami tidak mungkin fungsi dijalankan tanpa if - jika ini dilakukan, maka akan terjadi pemanggilan fungsi yang tak terbatas.