diff options
author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:23 +0200 |
---|---|---|
committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
commit | bf8e099b9c8b3c60d60b3712b4fc97b052c39887 (patch) | |
tree | c101746d082c9581c94f5937519c7d0e2f4af8cb /files/fr/web/javascript/reference/errors/too_much_recursion | |
parent | 844f5103992238c0c23203286dad16a466e89c97 (diff) | |
download | translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.gz translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.tar.bz2 translated-content-bf8e099b9c8b3c60d60b3712b4fc97b052c39887.zip |
convert content to md
Diffstat (limited to 'files/fr/web/javascript/reference/errors/too_much_recursion')
-rw-r--r-- | files/fr/web/javascript/reference/errors/too_much_recursion/index.md | 58 |
1 files changed, 30 insertions, 28 deletions
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 index 097eff25b7..62e269f74a 100644 --- a/files/fr/web/javascript/reference/errors/too_much_recursion/index.md +++ b/files/fr/web/javascript/reference/errors/too_much_recursion/index.md @@ -9,62 +9,64 @@ tags: translation_of: Web/JavaScript/Reference/Errors/Too_much_recursion original_slug: Web/JavaScript/Reference/Erreurs/Too_much_recursion --- -<div>{{jsSidebar("Errors")}}</div> +{{jsSidebar("Errors")}} -<h2 id="Message">Message</h2> +## Message -<pre class="syntaxbox">Error: Out of stack space (Edge) -InternalError: too much recursion (Firefox) -RangeError: Maximum call stack size exceeded (Chrome) -</pre> + Error: Out of stack space (Edge) + InternalError: too much recursion (Firefox) + RangeError: Maximum call stack size exceeded (Chrome) -<h2 id="Type_d'erreur">Type d'erreur</h2> +## Type d'erreur -<p>{{jsxref("InternalError")}}.</p> +{{jsxref("InternalError")}}. -<h2 id="Quel_est_le_problème">Quel est le problème ?</h2> +## Quel est le problème ? -<p>Une fonction qui s'appelle elle-même est une fonction <em>recursive</em>. 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.</p> +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. -<p>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.</p> +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. -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Cette fonction récursive est exécutée 10 fois comme l'indique la condition de sortie :</p> +Cette fonction récursive est exécutée 10 fois comme l'indique la condition de sortie : -<pre class="brush: js">function loop(x) { - if (x >= 10) // "x >= 10" is the exit condition +```js +function loop(x) { + if (x >= 10) // "x >= 10" is the exit condition return; // do stuff loop(x + 1); // the recursive call } -loop(0);</pre> +loop(0); +``` -<p>Si la condition d'arrêt est beaucoup trop grande, cela ne fonctionnera pas :</p> +Si la condition d'arrêt est beaucoup trop grande, cela ne fonctionnera pas : -<pre class="brush: js example-bad">function loop(x) { - if (x >= 1000000000000) +```js example-bad +function loop(x) { + if (x >= 1000000000000) return; // do stuff loop(x + 1); } loop(0); -// InternalError: too much recursion</pre> +// InternalError: too much recursion +``` -<p>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.</p> +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. -<pre class="brush: js example-bad">function boucle(x) { +```js example-bad +function boucle(x) { boucle(x + 1); // il n'y a pas de cas initial } boucle(0); -</pre> +``` -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li>{{Glossary("Récursion")}}</li> - <li><a href="/fr/docs/Web/JavaScript/Guide/Fonctions#La_récursivité">Les fonctions récursives</a></li> -</ul> +- {{Glossary("Récursion")}} +- [Les fonctions récursives](/fr/docs/Web/JavaScript/Guide/Fonctions#La_récursivité) |