Puhelupinon enimmäiskoko ylitetty Virhe JavaScriptissä | Selitetty

Puhelupinon Enimmaiskoko Ylitetty Virhe Javascriptissa Selitetty



Rekursiiviset funktiot ovat funktioita, jotka kutsuvat menetelmää toisen menetelmän sisällä. Kuitenkin ääretön rekursio aiheuttaa pinon kokovirheen. Pinon kokovirhe johtuu monista odottavista pyynnöistä. Tämä ongelma ilmenee kutsuttaessa itse funktiota. Tässä artikkelissa selitetään, että puhelupinon enimmäiskoko ylittää JavaScriptin virheen. Lisäksi tarjotaan ratkaisu virheen ratkaisemiseksi.

Artikkeli palvelee meitä seuraavasti:







  • Enimmäispuhelupinon koko ylitetty -virhe JavaScriptissä
  • Jos ehtoa käytetään ratkaisemaan puhelupinon enimmäiskoko ylitetty -virhe
  • For-silmukan käyttäminen puhelupinon enimmäiskoon ylittymisen virheen ratkaisemiseen.

Enimmäispuhelupinon koko ylitetty -virhe JavaScriptissä

Pinon koko ylitetty -virhe ilmenee, kun käyttäjä kutsuu rekursiivista funktiota. Tämän tyyppinen virhe johtuu menetelmän toistuvasta kutsumisesta. The hauska_käyttäjä() käytetään rekursiivisena kutsuna funktion sisällä hauska_käyttäjä() JavaScriptissä luodaksesi virheen konsoliikkunassa.



Koodi



console.log ( 'Puhelupinon enimmäiskoko ylitetty' ) ;
fun_user ( ) ;
toiminto fun_user ( )
{
fun_user ( ) ;
}





Tässä koodissa 'puhelupinon enimmäiskoko ylitetty virhe' generoidaan kutsumalla menetelmää 'hauska_käyttäjä()' toiminnon sisällä.



Koodi näyttää virheen muodossa 'RangeError: Puhelupinon enimmäiskoko ylitetty.'

On monia tapoja ratkaista tämä virhe, kuten silmukalle ja ehdolliset lausunnot , jota voidaan käyttää rajoittamaan funktiokutsua.

Ratkaisu 1: Käytä if Conditionia ratkaistaksesi puhelupinon enimmäiskoko ylitetty -virhe

Virheen ratkaisemiseksi käytetään if-ehtoa rajoittamaan pinon kokoa JavaScriptissä. Esimerkiksi koodi on annettu alla.

Koodi

oli i = 1 ;
fun_user ( i ) ;
toiminto fun_user ( i ) {
jos ( i < = 10 )
{
console.log ( 'Tervetuloa JavaScriptiin' ) ;
i =i+ 1 ;
fun_user ( i ) ;
} }

Koodin kuvaus on seuraava:

  • Ensinnäkin muuttuja 'minä' alustetaan arvolla 1.
  • Sen jälkeen, hauska_käyttäjä() menetelmää käytetään ohittamalla muuttuja 'i'.
  • Jos tässä funktiossa käytetään ehtoa, joka rajoittaa iteroinnin tähän 10 .
  • Lopuksi viesti 'Tervetuloa JavaScriptiin' näytetään käyttämällä 'console.log()' menetelmä.

Lähtö

Ratkaisu 2: Käytä for Loop -toimintoa puhelupinon enimmäiskoon ylitysvirheen ratkaisemiseen

Virheen ratkaisemiseksi käytetään for-silmukkaa rajoittamaan iteraatioita JavaScriptissä. Esimerkiksi koodi on annettu alla.

Koodi

päästää lähtö = 0 ;
varten ( päästää minä = 5 ; i > 0 ; minä-- )
{
lähtö += lisäys ( 1 , 1 ) ;
}
toiminto lisätä ( a, b ) {
palata a + b;
}
console.log ( ulostulo ) ;

Tässä koodissa:

  • Muuttuja 'lähtö' alustetaan arvolla 0.
  • Sen jälkeen for-silmukkaa käytetään viiden iteroinnin suorittamiseen. Tässä silmukassa lisätä() menetelmää kutsutaan välittämällä arvo 1.
  • Menetelmä lisätä() palauttaa kahden muuttujan lisäyksen a ja b .
  • Lopulta Hirsi() menetelmää käytetään tulosteen näyttämiseen konsoliikkunassa.

Lähtö

Tulos palaa '10' ratkaisemalla JavaScriptin enimmäiskutsupinon koon virheen.

Johtopäätös

Rekursiivisten funktioiden ääretön kutsu tapahtuu 'puhelupinon enimmäiskoko ylitetty virhe' JavaScriptissä. Tässä artikkelissa selitetään syyt tämäntyyppisten virheiden aiheuttamiseen. Myöhemmin kaksi ratkaisua, mukaan lukien 'silmukalle' ja 'ehdolliset lausunnot' käytetään vian ratkaisemiseen. Näin ollen soittotoimintoja rajoitetaan käyttämällä näitä ratkaisuja.