diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:41:15 -0500 |
commit | 4b1a9203c547c019fc5398082ae19a3f3d4c3efe (patch) | |
tree | d4a40e13ceeb9f85479605110a76e7a4d5f3b56b /files/de/web/javascript/reference/fehler/too_much_recursion/index.html | |
parent | 33058f2b292b3a581333bdfb21b8f671898c5060 (diff) | |
download | translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.gz translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.tar.bz2 translated-content-4b1a9203c547c019fc5398082ae19a3f3d4c3efe.zip |
initial commit
Diffstat (limited to 'files/de/web/javascript/reference/fehler/too_much_recursion/index.html')
-rw-r--r-- | files/de/web/javascript/reference/fehler/too_much_recursion/index.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/fehler/too_much_recursion/index.html b/files/de/web/javascript/reference/fehler/too_much_recursion/index.html new file mode 100644 index 0000000000..0010afd90a --- /dev/null +++ b/files/de/web/javascript/reference/fehler/too_much_recursion/index.html @@ -0,0 +1,54 @@ +--- +title: 'InternalError: too much recursion' +slug: Web/JavaScript/Reference/Fehler/Too_much_recursion +tags: + - Errors + - InternalError + - JavaScript +translation_of: Web/JavaScript/Reference/Errors/Too_much_recursion +--- +<div>{{jsSidebar("Errors")}}</div> + +<h2 id="Fehlermeldung">Fehlermeldung</h2> + +<pre class="syntaxbox">InternalError: too much recursion +</pre> + +<h2 id="Fehlertyp">Fehlertyp</h2> + +<p>{{jsxref("InternalError")}}.</p> + +<h2 id="Was_ist_falsch_gelaufen">Was ist falsch gelaufen?</h2> + +<p>Eine Funktion, die sich selbst aufruft, wird rekursive Funktion genannt. In manchen Fällen ist Rekursion mit einer Schleife vergleichbar. Beide führen den gleichen Code mehrfach aus und beide brauchen eine Abbruchbedingung (um Endlosschleifen bzw. Endlosrekursion zu vermeiden). Wenn zu tiefe Rekursion oder Endlosrekursion auftritt, erzeugt JavaScript diesen Fehler.</p> + +<h2 id="Beispiele">Beispiele</h2> + +<p>Diese rekursive Methode wird bis zur Abbruchbedingung 10 mal durchlaufen.</p> + +<pre class="brush: js">function schleife(x) { + if (x >= 10) // "x >= 10" ist die Abbruchsbedingung + return; + // zu wiederholende Codezeilen + schleife(x + 1); // rekursiver Methodenaufruf +} +schleife(0);</pre> + +<p>Wird die Abbruchsbedingung auf eine zu hohe Wert gesetzt, ist die Rekursionstiefe zu hoch und es wird einen Fehler erzeugt:</p> + +<pre class="brush: js example-bad">function boeseSchleife(x) { + if (x >= 1000000000000) + return; + // zu wiederholende Codezeilen + boeseSchleife(x + 1); +} +boeseSchleife(0); + +// InternalError: too much recursion</pre> + +<h2 id="Siehe_auch">Siehe auch</h2> + +<ul> + <li>{{Glossary("Recursion")}}</li> + <li><a href="/de/docs/Web/JavaScript/Guide/Funktionen">Rekursive Methoden</a></li> +</ul> |