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:

javascriptlet 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.