Napaka v JavaScriptu je presegla največjo velikost sklada klicev | Razloženo

Napaka V Javascriptu Je Presegla Najvecjo Velikost Sklada Klicev Razlozeno



Rekurzivne funkcije so funkcije, ki kličejo metodo znotraj druge metode. Vendar pa neskončna rekurzija povzroči napako velikosti sklada. Napaka velikosti sklada se pojavi zaradi čakanja na veliko zahtev. Ta težava nastane pri klicu same funkcije. Ta članek ob upoštevanju tega pojasnjuje, da največja velikost sklada klicev presega napako v JavaScriptu. Poleg tega je na voljo tudi rešitev za odpravo napake.

Članek nam služi takole:







  • Napaka v JavaScriptu je presegla največjo velikost sklada klicev
  • Uporaba pogoja if za razrešitev napake, da je največja velikost sklada klicev presežena
  • Uporaba zanke for za razrešitev napake glede presežene velikosti največjega sklada klicev.

Napaka v JavaScriptu je presegla največjo velikost sklada klicev

Napaka Presežena velikost sklada se pojavi, ko uporabnik pokliče rekurzivno funkcijo. Ta vrsta napake se pojavi zaradi večkratnega klicanja metode. The zabavni_uporabnik() se uporablja kot rekurziven klic znotraj funkcije zabavni_uporabnik() v JavaScriptu za ustvarjanje napake v oknu konzole.



Koda



console.log ( 'Presežena je največja velikost sklada klicev' ) ;
fun_user ( ) ;
funkcijo fun_user ( )
{
fun_user ( ) ;
}





V tej kodi je Napaka »presežena največja velikost sklada klicev« se ustvari s klicem metode “fun_user()” znotraj funkcije.



Koda prikaže napako kot »RangeError: presežena je največja velikost sklada klicev.«

To napako je mogoče odpraviti na več načinov, npr za zanko in pogojne izjave , s katerim lahko omejite klic funkcije.

1. rešitev: uporaba pogoja if za razrešitev napake, da je največja velikost sklada klicev presežena

Za odpravo napake se uporabi pogoj if za omejitev velikosti sklada v JavaScriptu. Na primer, koda je podana spodaj.

Koda

je bil jaz = 1 ;
fun_user ( jaz ) ;
funkcijo fun_user ( jaz ) {
če ( jaz < = 10 )
{
console.log ( 'Dobrodošli v JavaScript' ) ;
jaz =i+ 1 ;
fun_user ( jaz ) ;
} }

Opis kode je naslednji:

  • Prvič, spremenljivka 'jaz' se inicializira z vrednostjo 1.
  • Potem, zabavni_uporabnik() metoda se uporablja s posredovanjem spremenljivke 'jaz'.
  • Če je v tej funkciji uporabljen pogoj, ki omejuje ponovitev na 10 .
  • Končno sporočilo “Dobrodošli v JavaScript” se prikaže z uporabo “console.log()” metoda.

Izhod

2. rešitev: uporaba zanke for za razrešitev napake presežene največje velikosti sklada klicev

Za odpravo napake se uporabi zanka for za omejitev ponovitev v JavaScriptu. Na primer, koda je podana spodaj.

Koda

pustiti izhod = 0 ;
za ( pustiti jaz = 5 ; jaz > 0 ; jaz-- )
{
izhod += prid ( 1 , 1 ) ;
}
funkcijo dodati ( a, b ) {
vrnitev a + b;
}
console.log ( izhod ) ;

V tej kodi:

  • Spremenljivka 'izhod' se inicializira z vrednostjo 0.
  • Po tem se uporabi zanka for za izvedbo petih ponovitev. V tej zanki je dodaj() metoda se pokliče s posredovanjem vrednosti 1.
  • Metoda dodaj() vrne seštevek dveh spremenljivk a in b .
  • Na koncu je log() metoda se uporablja za prikaz izhoda v oknu konzole.

Izhod

Izhod se vrne “10” z razrešitvijo napake največje velikosti sklada klicev v JavaScriptu.

Zaključek

Neskončno klicanje rekurzivnih funkcij se pojavi kot Napaka »presežena največja velikost sklada klicev« v JavaScriptu. Ta članek pojasnjuje razloge za nastanek te vrste napake. Nato dve rešitvi, vključno z 'zanka za' in 'pogojni stavki' se uporabljajo za odpravo napake. Zato so klicne funkcije omejene z uporabo teh rešitev.