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 se pose lorsque vous appelez la fonction elle-même. En le considérant, cet article explique que la taille maximale de la pile d'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:
La taille maximale de la pile d'appels a dépassé l'erreur en javascript
La taille de la pile dépasse l'erreur lorsque l'utilisateur appelle la fonction récursive. Ce type d'erreur se produit en raison de l'invoquer à plusieurs reprises une méthode. Le 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.journal ("taille maximale de pile d'appels dépassée");
fun_user ();
fonction fun_user ()
fun_user ();
Dans ce code, le "La taille maximale de la pile d'appels a dépassé l'erreur" est généré en appelant une méthode "Fun_user ()" À l'intérieur de la fonction.
Le code affiche l'erreur comme «RangeError: la taille maximale de la pile d'appels dépassée."
Il existe de nombreuses façons de résoudre cette erreur, comme pour boucle et expressions conditionnelles, qui peut être utilisé pour limiter l'appel de fonction.
Solution 1: Utilisation de la condition IF pour résoudre la taille maximale de la pile d'appels dépassée
Pour résoudre l'erreur, la condition IF est appliquée pour restreindre la taille de la pile en javascript. Par exemple, le code est donné ci-dessous.
Code
var i = 1;
fun_user (i);
fonction fun_user (i)
si je <= 10)
console.log («Bienvenue à JavaScript»);
i = i + 1;
fun_user (i);
La description du code est la suivante:
Sortir
Solution 2: Utilisation pour la boucle pour résoudre la taille maximale de la pile d'appels dépassée
Pour résoudre l'erreur, une boucle pour une boucle est utilisée pour limiter les itérations en javascript. Par exemple, le code est donné ci-dessous.
Code
Soit Output = 0;
pour (soit i = 5; i> 0; i--)
sortie + = add (1, 1);
fonction add (a, b)
retourner a + b;
console.journal (sortie);
Dans ce code:
Sortir
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 comme le "La taille maximale de la pile d'appels a dépassé l'erreur" en javascript. Cet article explique les raisons de la cause de ce type d'erreur. Par la suite, deux solutions, dont "Pour Loop" 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.