InternalError: too much recursion

Message

InternalError: too much recursion

Type d'erreur

InternalError.

Quel est le problème ?

Une fonction qui s'appelle elle-même est une fonction recursive. D'une certaine façon, une récursion est semblable à une boucle et les deux exécutent le même code plusieurs. Pour les deux, il est également nécessaire d'avoir une condition d'arrêt afin d'éviter une boucle infinie ou une récursion infinie. Lorsqu'il y a trop de niveaux de récursion ou une récursion infinie, JavaScript lèvera cette erreur.

Exemples

Cette fonction récursive est exécutée 10 fois comme l'indique la condition de sortie :

function loop(x) {
  if (x >= 10) // "x >= 10" is the exit condition
    return;
  // do stuff
  loop(x + 1); // the recursive call
}
loop(0);

Si la condition d'arrêt est beaucoup trop grande, cela ne fonctionnera pas :

function loop(x) {
  if (x >= 1000000000000)
    return;
  // do stuff
  loop(x + 1);
}
loop(0);

// InternalError: too much recursion

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,