Emmi: rekursiver Funktionsaufruf wird nicht zu Ende geführt!!!

Beitrag lesen

» Sorry Emmi, aber da hat Carsten recht. Es funzt ja jetzt und weder die Variable 'elm' noch 'x' habe ich irgendwo anders im Quelltext schon mal verwendet.<<

Hm, dann müßte zumindest auch SelfHTML an dieser Stelle korrigiert werden, wo steht, daß man das "var" genausogut weglassen kann:

ZITAT:
--------------------------------------------------------------------
 Variablen definieren
 Anzeigebeispiel: So sieht's aus

Variablen sind Speicherbereiche, in denen Sie Daten, die Sie im Laufe Ihrer Programmprozeduren benötigen, speichern können. Der Inhalt, der in einer Variablen gespeichert ist, wird als "Wert" bezeichnet. Sie können den Wert einer Variablen jederzeit ändern. Um mit Variablen arbeiten zu können, müssen Sie die benötigten Variablen zuerst definieren.

Beispiel:
<html>
<head>
<title>Sinn des Lebens zum Quadrat</title>
<script language="JavaScript">
<!--
  var Hinweis = "Gleich werden Quadratzahlen ausgegeben";
  alert(Hinweis);

function SchreibeQuadrate()
  {
      var SinnDesLebens = 42;
      var i, x;
      var Satzteil = "Das Quadrat von ";
      for(i=1; i <= SinnDesLebens; ++i)
        {
          x = i * i;
          document.write(Satzteil + i + " ist " + x + "<br>");
        }
  }
// -->
</script>
</head>
<body onLoad="SchreibeQuadrate()">
</body>
</html>

Erläuterung:
Variablen können mit Hilfe des  reservierten Wortes var definiert werden. Dieses Schlüsselwort ist zwar nicht zwingend notwendig, macht den Quellcode aber lesbarer, da es signalisiert, daß an der betreffenden Stelle eine neue Variable definiert wird. Jede Variablendefinition wird mit einem Strichpunkt abgeschlossen, genau wie eine  Anweisung (betrachten Sie eine Variablendefinition einfach als eine Anweisung!).

Es gibt globale Variablen und Variablen, die innerhalb einer  Funktion definiert sind. Im obigen Beispiel ist die Variable Hinweis global, während die Variablen SinnDesLebens, i, x und Satzteil funktionsgebunden sind. Eine globale Variable steht jederzeit zur Verfügung, während eine Variable, die innerhalb einer Funktion definiert wird, nur innerhalb dieser Funktion zur Verfügung steht. Man spricht in diesem Zusammenhang auch von der "Lebensdauer" von Variablen.
--------------------------------------------------------------------
ZITAT Ende