From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../reference/errors/too_much_recursion/index.html | 70 ---------------------- .../reference/errors/too_much_recursion/index.md | 70 ++++++++++++++++++++++ 2 files changed, 70 insertions(+), 70 deletions(-) delete mode 100644 files/fr/web/javascript/reference/errors/too_much_recursion/index.html create mode 100644 files/fr/web/javascript/reference/errors/too_much_recursion/index.md (limited to 'files/fr/web/javascript/reference/errors/too_much_recursion') diff --git a/files/fr/web/javascript/reference/errors/too_much_recursion/index.html b/files/fr/web/javascript/reference/errors/too_much_recursion/index.html deleted file mode 100644 index 097eff25b7..0000000000 --- a/files/fr/web/javascript/reference/errors/too_much_recursion/index.html +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: 'InternalError: too much recursion' -slug: Web/JavaScript/Reference/Errors/Too_much_recursion -tags: - - Erreurs - - InternalError - - JavaScript - - Reference -translation_of: Web/JavaScript/Reference/Errors/Too_much_recursion -original_slug: Web/JavaScript/Reference/Erreurs/Too_much_recursion ---- -
{{jsSidebar("Errors")}}
- -

Message

- -
Error: Out of stack space (Edge)
-InternalError: too much recursion (Firefox)
-RangeError: Maximum call stack size exceeded (Chrome)
-
- -

Type d'erreur

- -

{{jsxref("InternalError")}}.

- -

Quel est le problème ?

- -

Une fonction qui s'appelle elle-même est une fonction recursive. Lorsqu'une certaine condition est respectée, la fonction arrête de s'appeler elle-même, c'est ce qu'on appelle le cas initial.

- -

D'une certaine façon, une récursion est semblable à une boucle. Les deux exécutent le même code plusieurs fois, et les deux ont besoin d'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
- -

Si la fonction récursive ne possède pas de cas initial, il n'y aura pas de condition de sortie et la fonction continuera de s'appeler indéfiniment.

- -
function boucle(x) {
-  boucle(x + 1);
-  // il n'y a pas de cas initial
-}
-
-boucle(0);
-
- -

Voir aussi

- - diff --git a/files/fr/web/javascript/reference/errors/too_much_recursion/index.md b/files/fr/web/javascript/reference/errors/too_much_recursion/index.md new file mode 100644 index 0000000000..097eff25b7 --- /dev/null +++ b/files/fr/web/javascript/reference/errors/too_much_recursion/index.md @@ -0,0 +1,70 @@ +--- +title: 'InternalError: too much recursion' +slug: Web/JavaScript/Reference/Errors/Too_much_recursion +tags: + - Erreurs + - InternalError + - JavaScript + - Reference +translation_of: Web/JavaScript/Reference/Errors/Too_much_recursion +original_slug: Web/JavaScript/Reference/Erreurs/Too_much_recursion +--- +
{{jsSidebar("Errors")}}
+ +

Message

+ +
Error: Out of stack space (Edge)
+InternalError: too much recursion (Firefox)
+RangeError: Maximum call stack size exceeded (Chrome)
+
+ +

Type d'erreur

+ +

{{jsxref("InternalError")}}.

+ +

Quel est le problème ?

+ +

Une fonction qui s'appelle elle-même est une fonction recursive. Lorsqu'une certaine condition est respectée, la fonction arrête de s'appeler elle-même, c'est ce qu'on appelle le cas initial.

+ +

D'une certaine façon, une récursion est semblable à une boucle. Les deux exécutent le même code plusieurs fois, et les deux ont besoin d'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
+ +

Si la fonction récursive ne possède pas de cas initial, il n'y aura pas de condition de sortie et la fonction continuera de s'appeler indéfiniment.

+ +
function boucle(x) {
+  boucle(x + 1);
+  // il n'y a pas de cas initial
+}
+
+boucle(0);
+
+ +

Voir aussi

+ + -- cgit v1.2.3-54-g00ecf