Erreur de dépassement de la taille maximale de la pile d'appels dans JavaScript | Expliqué

Erreur De Depassement De La Taille Maximale De La Pile D Appels Dans Javascript Explique



Les fonctions récursives sont des fonctions qui appellent une méthode dans une autre méthode. Cependant, la récursivité infinie provoque une erreur de taille de pile. L'erreur de taille de pile se produit en raison de l'attente de nombreuses demandes. Ce problème survient lors de l'appel de la fonction elle-même. En le considérant, cet article explique que la taille maximale de la pile des appels dépasse l'erreur en JavaScript. De plus, la solution est également fournie pour résoudre l'erreur.

L'article nous sert comme suit:







  • Erreur de dépassement de la taille maximale de la pile d'appels dans JavaScript
  • Utilisation de la condition if pour résoudre l'erreur de dépassement de la taille maximale de la pile d'appels
  • Utilisation de la boucle for pour résoudre l'erreur de dépassement de la taille maximale de la pile d'appels.

Erreur de dépassement de la taille maximale de la pile d'appels dans JavaScript

L'erreur de dépassement de la taille de la pile se produit lorsque l'utilisateur appelle la fonction récursive. Ce type d'erreur se produit en raison de l'appel répété d'une méthode. La fun_user() est utilisé comme un appel récursif à l'intérieur de la fonction fun_user() en JavaScript pour générer une erreur dans la fenêtre de la console.



Code



console.log ( 'Taille de la pile d'appel maximale dépassée' ) ;
fun_user ( ) ;
fonction fun_user ( )
{
fun_user ( ) ;
}





Dans ce code, le 'Erreur de dépassement de la taille maximale de la pile d'appels' est généré en appelant une méthode 'utilisateur_amusant()' à l'intérieur de la fonction.



Le code affiche l'erreur comme 'RangeError : taille maximale de la pile d'appels dépassée.'

Il existe de nombreuses façons de résoudre cette erreur, telles que pour la boucle et expressions conditionnelles , qui peut être utilisé pour limiter l'appel de fonction.

Solution 1 : Utilisation de la condition if pour résoudre l'erreur de dépassement de la taille maximale de la pile d'appels

Pour résoudre l'erreur, la condition if est appliquée pour limiter la taille de la pile en JavaScript. Par exemple, le code est donné ci-dessous.

Code

a été je = 1 ;
fun_user ( je ) ;
fonction fun_user ( je ) {
si ( je < = dix )
{
console.log ( 'Bienvenue dans JavaScript' ) ;
je =je+ 1 ;
fun_user ( je ) ;
} }

La description du code est la suivante :

  • Tout d'abord, une variable 'je' est initialisé avec la valeur 1.
  • Après ça, fun_user() méthode est employée en passant la variable 'je'.
  • Dans cette fonction, si une condition est appliquée qui limite l'itération à dix .
  • Enfin, le message 'Bienvenue sur JavaScript' s'affiche à l'aide de la 'console.log()' méthode.

Production

Solution 2 : Utilisation de la boucle for pour résoudre l'erreur de dépassement de la taille maximale de la pile d'appels

Pour résoudre l'erreur, une boucle for est utilisée pour limiter les itérations en JavaScript. Par exemple, le code est donné ci-dessous.

Code

laisser sortie = 0 ;
pour ( laisser je = 5 ; je > 0 ; je-- )
{
sortie += ajouter ( 1 , 1 ) ;
}
fonction ajouter ( un B ) {
revenir un + b ;
}
console.log ( production ) ;

Dans ce code :

  • La variable 'production' est initialisé avec une valeur de 0.
  • Après cela, une boucle for est utilisée pour effectuer cinq itérations. Dans cette boucle, le ajouter() La méthode est appelée en passant la valeur 1.
  • La méthode ajouter() renvoie l'addition de deux variables un et b .
  • En fin de compte, le Journal() La méthode est utilisée pour afficher la sortie dans la fenêtre de la console.

Production

La sortie renvoie 'dix' en résolvant l'erreur de la taille maximale de la pile d'appels en JavaScript.

Conclusion

L'appel infini des fonctions récursives se produit lorsque le 'Erreur de dépassement de la taille maximale de la pile d'appels' en JavaScript. Cet article explique les raisons de ce type d'erreur. Ensuite, deux solutions, dont 'boucle for' et 'expressions conditionnelles' sont utilisés pour résoudre l'erreur. Par conséquent, les fonctions d'appel sont limitées en utilisant ces solutions.