A maximális hívási verem mérete túllépte Hiba a JavaScriptben | Elmagyarázta

A Maximalis Hivasi Verem Merete Tullepte Hiba A Javascriptben Elmagyarazta



A rekurzív függvények olyan függvények, amelyek egy másik metóduson belül egy metódust hívnak meg. A végtelen rekurzió azonban veremméret-hibát okoz. A veremméret-hiba sok függőben lévő kérelem miatt fordul elő. Ez a probléma magának a függvénynek a meghívásakor merül fel. Ennek figyelembevételével ez a cikk elmagyarázza, hogy a maximális hívási verem mérete meghaladja a JavaScript hibáját. Sőt, a megoldás is rendelkezésre áll a hiba elhárítására.

A cikk a következőképpen szolgál számunkra:







  • A maximális hívási verem mérete túllépte Hiba a JavaScriptben
  • Az if Condition használatával megoldja a maximális hívásverem mérete túllépte a hibát
  • A for hurok használata a maximális hívásverem méretének túllépése hiba elhárításához.

A maximális hívási verem mérete túllépte Hiba a JavaScriptben

A veremméret túllépése hiba akkor jelentkezik, amikor a felhasználó meghívja a rekurzív függvényt. Ez a fajta hiba egy metódus ismételt meghívása miatt fordul elő. Az fun_user() rekurzív hívásként használatos a függvényen belül fun_user() JavaScriptben, hogy hibát generáljon a konzolablakban.



Kód



console.log ( 'Túllépte a maximális hívási veremméretet' ) ;
fun_user ( ) ;
funkció fun_user ( )
{
fun_user ( ) ;
}





Ebben a kódban a „A maximális hívási verem mérete túllépte hiba” metódus hívásával jön létre 'fun_user()' a funkción belül.



A kód a hibát mint 'RangeError: Túllépte a hívásverem maximális méretét.'

A hiba elhárításának számos módja van, mint pl hurokhoz és feltételes állítások , amellyel korlátozható a függvényhívás.

1. megoldás: Az if Condition használatával oldja meg a maximális hívásverem mérete túllépte a hibát

A hiba megoldásához alkalmazza az if feltételt a verem méretének korlátozására a JavaScriptben. Például a kód alább található.

Kód

volt én = 1 ;
fun_user ( én ) ;
funkció fun_user ( én ) {
ha ( én < = 10 )
{
console.log ( 'Üdvözöljük a JavaScriptben' ) ;
én =i+ 1 ;
fun_user ( én ) ;
} }

A kód leírása a következő:

  • Először is egy változó 'én' 1 értékkel inicializálódik.
  • Utána, fun_user() módszert a változó átadásával alkalmazzuk 'én'.
  • Ebben a függvényben, ha olyan feltételt alkalmazunk, amely korlátozza az iterációt 10 .
  • Végül az üzenet 'Üdvözöljük a JavaScriptben' segítségével jelenik meg 'console.log()' módszer.

Kimenet

2. megoldás: A for Loop használata a Maximális hívásverem mérete túllépte hiba feloldására

A hiba megoldásához egy for ciklust használnak a JavaScript iterációinak korlátozására. Például a kód alább található.

Kód

hagyja kimenet = 0 ;
számára ( hagyja i = 5 ; én > 0 ; én-- )
{
kimenet += hozzáadás ( 1 , 1 ) ;
}
funkció add hozzá ( a, b ) {
Visszatérés a + b;
}
console.log ( Kimenet ) ;

Ebben a kódban:

  • A változó 'Kimenet' 0 értékkel inicializálódik.
  • Ezt követően egy for ciklust használunk öt iteráció végrehajtására. Ebben a hurokban a add() metódus az 1 érték átadásával hívható meg.
  • A módszer add() két változó hozzáadását adja vissza a és b .
  • A végén a log() módszert alkalmazzuk a kimenet megjelenítésére a konzol ablakában.

Kimenet

A kimenet visszatér '10' a JavaScriptben a maximális hívási veremméret hibájának megoldásával.

Következtetés

A rekurzív függvények végtelen meghívása úgy történik, mint a „A maximális hívási verem mérete túllépte hiba” JavaScriptben. Ez a cikk ismerteti az ilyen típusú hibák előidézésének okait. Utána két megoldás, köztük 'for loop' és „feltételes kijelentések” használják a hiba megoldására. Ezért ezek a megoldások korlátozzák a hívási funkciókat.