Ukuran Tumpukan Panggilan Maksimum Melebihi Kesalahan dalam JavaScript | Dijelaskan

Ukuran Tumpukan Panggilan Maksimum Melebihi Kesalahan Dalam Javascript Dijelaskan



Fungsi rekursif adalah fungsi yang memanggil metode dalam metode lain. Namun, rekursi tak terbatas menyebabkan kesalahan ukuran tumpukan. Kesalahan ukuran tumpukan terjadi karena banyaknya permintaan yang tertunda. Masalah ini muncul saat memanggil fungsi itu sendiri. Dengan mempertimbangkannya, artikel ini menjelaskan bahwa ukuran tumpukan panggilan maksimum melebihi kesalahan dalam JavaScript. Selain itu juga disediakan solusi untuk mengatasi error tersebut.

Artikel tersebut melayani kami sebagai berikut:







  • Ukuran Tumpukan Panggilan Maksimum Melebihi Kesalahan dalam JavaScript
  • Menggunakan if Condition untuk menyelesaikan kesalahan ukuran tumpukan panggilan maksimum yang terlampaui
  • Menggunakan for loop untuk menyelesaikan kesalahan ukuran tumpukan panggilan maksimum yang terlampaui.

Ukuran Tumpukan Panggilan Maksimum Melebihi Kesalahan dalam JavaScript

Kesalahan ukuran tumpukan terlampaui terjadi saat pengguna memanggil fungsi rekursif. Jenis kesalahan ini terjadi karena berulang kali memanggil suatu metode. Itu kesenangan_pengguna() digunakan sebagai panggilan rekursif di dalam fungsi kesenangan_pengguna() di JavaScript untuk menghasilkan kesalahan di jendela konsol.



Kode



console.log ( 'Ukuran tumpukan panggilan maksimum terlampaui' ) ;
fun_user ( ) ;
fungsi fun_user ( )
{
fun_user ( ) ;
}





Dalam kode ini, 'ukuran tumpukan panggilan maksimum melebihi kesalahan' dihasilkan dengan memanggil metode “pengguna_kesenangan()” di dalam fungsi.



Kode menampilkan kesalahan sebagai 'RangeError: Ukuran tumpukan panggilan maksimum terlampaui.'

Ada banyak cara untuk mengatasi kesalahan ini, seperti untuk lingkaran dan pernyataan bersyarat , yang dapat digunakan untuk membatasi pemanggilan fungsi.

Solusi 1: Menggunakan if Condition untuk menyelesaikan kesalahan ukuran tumpukan panggilan maksimum yang terlampaui

Untuk mengatasi kesalahan, kondisi if diterapkan untuk membatasi ukuran tumpukan dalam JavaScript. Misalnya, kode diberikan di bawah ini.

Kode

dulu saya = 1 ;
fun_user ( saya ) ;
fungsi fun_user ( saya ) {
jika ( saya < = 10 )
{
console.log ( 'Selamat datang di JavaScript' ) ;
saya =i+ 1 ;
fun_user ( saya ) ;
} }

Deskripsi kodenya adalah sebagai berikut:

  • Pertama, variabel 'saya' diinisialisasi dengan nilai 1.
  • Setelah itu, kesenangan_pengguna() metode ini digunakan dengan melewatkan variabel 'saya'.
  • Dalam fungsi ini, jika kondisi diterapkan yang membatasi iterasi ke 10 .
  • Akhirnya pesan “Selamat datang di JavaScript” ditampilkan menggunakan “konsol.log()” metode.

Keluaran

Solusi 2: Menggunakan for Loop untuk Menyelesaikan Kesalahan Melebihi Ukuran Tumpukan Panggilan Maksimum

Untuk mengatasi kesalahan, for loop digunakan untuk membatasi iterasi dalam JavaScript. Misalnya, kode diberikan di bawah ini.

Kode

membiarkan keluaran = 0 ;
untuk ( membiarkan saya = 5 ; saya > 0 ; saya-- )
{
keluaran += tambah ( 1 , 1 ) ;
}
fungsi menambahkan ( a, b ) {
kembali a + b;
}
console.log ( keluaran ) ;

Dalam kode ini:

  • Variabel 'keluaran' diinisialisasi dengan nilai 0.
  • Setelah itu, for loop digunakan untuk melakukan lima iterasi. Dalam lingkaran ini, menambahkan() metode dipanggil dengan melewatkan nilai 1.
  • Metode menambahkan() mengembalikan penambahan dua variabel sebuah dan b .
  • Pada akhirnya, catatan() metode ini digunakan untuk menampilkan output di jendela konsol.

Keluaran

Keluaran kembali “10” dengan menyelesaikan kesalahan ukuran tumpukan panggilan maksimum dalam JavaScript.

Kesimpulan

Pemanggilan tak terbatas dari fungsi rekursif terjadi sebagai 'ukuran tumpukan panggilan maksimum melebihi kesalahan' dalam JavaScript. Artikel ini menjelaskan alasan penyebab jenis kesalahan ini. Setelah itu, dua solusi, termasuk 'untuk lingkaran' dan 'pernyataan bersyarat' digunakan untuk mengatasi kesalahan tersebut. Oleh karena itu, fungsi panggilan dibatasi dengan menggunakan solusi ini.