SELFHTML: JavaScript / Sprachelemente / Variablen und Werte
Author: Redaktion SELFHTML, selfhtml81@selfhtml.org
Description: Wie Sie in JavaScript eigene Variablen definieren, was Sie in Variablen speichern können, und wie Sie Variablen verwenden.
Keywords: SELFHTML, JavaScript, Variablen, Werte, Zahlen, Zeichenketten, Strings, var
Date: 2005-08-22T21:21:39+02:00

| # Variablen und Werte
| Variablen definieren Werte von Variablen ändern

## Variablen definieren

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:

Anzeigebeispiel: So sieht's aus

    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <script type="text/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>");
      }
    }
    SchreibeQuadrate();
    </script>
    </body>
    </html>

### Erläuterung:

Das Beispiel gibt beim Aufruf der Seite eine Meldung aus, dass gleich Quadratzahlen ausgegeben werden. Bestätigt der Anwender das Meldungsfenster, werden die Quadrate der Zahlen von 1 bis 42 ausgegeben.

Es gibt globale Variablen und lokale Variablen. Eine lokale Variable erhalten Sie durch die Deklaration der Variablen mit `var` innerhalb einer Funktion. Im obigen Beispiel sind die Variablen `SinnDesLebens`, `i`, `x` und `Satzteil` innerhalb der Funktion `SchreibeQuadrate()` als lokale Variablen notiert. Diese Variablen sind deshalb nur innerhalb dieser Funktion gültig. Man spricht in diesem Zusammenhang auch von der "Lebensdauer" von Variablen. Parameter, die einer Funktion übergeben werden, werden ebenfalls als lokale Variablen behandelt.
Die Variable `Hinweis` ist dagegen eine global Variable. Sie ist im gesamten Dokument gültig und steht jederzeit zur Verfügung. Wenn Sie innerhalb von Funktionen Variablen ohne das Schlüsselwort `var` deklarieren, dann sind diese Variablen global.

Jede Variablendeklaration wird mit einem Strichpunkt abgeschlossen, da sie eine ganz normale Anweisung darstellt.

Variablen können mit oder ohne weitere Wertzuweisung deklariert werden. Im obigen Beispiel wird etwa der Variablen `SinnDesLebens` bei der Definition gleich ein Wert zugewiesen, nämlich 42. Auch die Variable `Satzteil` erhält eine anfängliche Wertzuweisung, nämlich den Wert `"Das Quadrat von "`. Die Variablen `i` und `x` werden dagegen nicht mit einem Anfangswert versehen. Beim Zuweisen eines Wertes notieren Sie hinter dem Variablennamen ein Istgleichzeichen und dahinter den Wert, den Sie der Variablen zuweisen wollen.

Sie können mehrere Variablen auf einmal definieren, so wie die beiden Variablen `i` und `x` im Beispiel. Dazu trennen Sie die Variablennamen durch Kommata. Das ist natürlich auch in Verbindung mit zugewiesenen Anfangswerten möglich.

Es gibt numerische Variablen und Variablen für Zeichen bzw. Zeichenketten. Im obigen Beispiel sind die Variablen `SinnDesLebens`, `i` und `x` numerische Variablen. Die Variablen `Hinweis` und `Satzteil` sind dagegen Zeichenkettenvariablen. Dies ist daran erkennbar, dass der ihnen zugewiesene Wert, ein Text, in Anführungszeichen gesetzt wird. Sie könnten z.B. eine Variable `Nummer = 1;` und eine Variable `Zeichen = "1";` definieren. Der Unterschied ist, dass Sie mit der Variablen `Nummer` Rechenoperationen anstellen können, mit der Variablen `Zeichen` nicht. Dafür können Sie mit Zeichenkettenvariablen Zeichenkettenoperationen durchführen, etwa das Extrahieren einer Teilzeichenkette, was mit numerischen Variablen nicht möglich ist.

### Beachten Sie:

Bei der Vergabe von Variablennamen gelten die Regeln für selbstvergebene Namen.

Variablen in JavaScript sind nicht so streng an Typen gebunden wie in vielen anderen Programmiersprachen. Einfache Variablentypen, wie Zahlen, Zeichenketten oder Wahrheitswerte, werden lediglich nach numerischen und nicht-numerischen Variablen eingeteilt. Kommazahlen und Ganzzahlen benötigen keine unterschiedlichen Typen. Der Inhalt von numerischen Variablen kann ohne vorherige Konvertierung in Zeichenketten auf den Bildschirm oder in Meldungsfenster geschrieben werden. Umgekehrt können Sie aber mit Zeichenketten, z.B. Werten aus Formularfeldern, nicht immer automatisch rechnen, sondern müssen sie vorher explizit in Zahlen umwandeln. Für die explizite Typumwandlung gibt es verschiedene objektunabhängige Funktionen.

## Werte von Variablen ändern

Wertänderungen von Variablen sind das A & O bei der Programmierung. Sie werden nur dann erfolgreich eigene Programme schreiben können, wenn Sie jederzeit den Überblick haben, was in einer Variablen an einem bestimmten Punkt des Programmablaufs steht. Besonders, wenn Sie mit bedingten Anweisungen oder Schleifen arbeiten, werden Sie schnell feststellen, wie leicht der Überblick über den aktuellen Zustand einer Variablen verloren gehen kann.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html>
    <head>
    <title>Sinn des Lebens zum Quadrat</title>
    </head>
    <body>
    <script type="text/javascript">
    function SchreibeTabelle () {
      var SinnDesLebens = 42;
      var i, x, y;
      document.write('<table border="1"><tr>');
      document.write('<td bgcolor="#EEEEEE">Wert<\/td>');
      document.write('<td bgcolor="#EEEEEE">Wert<sup>2<\/sup><\/td>');
      document.write('<td bgcolor="#EEEEEE">Wert<sup>3<\/sup><\/td><\/tr>');
      for (i=1; i <= SinnDesLebens; ++i) {
        x = i * i;
        y = i * i * i;
        document.write("<tr><td>" + i + "<\/td>");
        document.write("<td>" + x + "<\/td>");
        document.write("<td>" + y + "<\/td><\/tr>");
      }
      document.write("<\/table>");
    }
    SchreibeTabelle();
    </script>
    </body>
    </html>

### Erläuterung:

Das Beispiel und erzeugt dynamisch eine Tabelle mit 3 Spalten und 42 Zeilen plus einer Kopfzeile. In die Zellen der Tabelle werden für die Zahlen von 1 bis 42 der Quadratwert und der Kubikwert geschrieben. Zum Ausgeben dieser Tabelle benutzt das Script die Methode document.write.

Die Variable `SinnDesLebens` wird während des Programmablaufs zwar benutzt, aber ihr Wert wird nicht geändert. Die Variablen `i`, `x` und `y` dagegen ändern ihren Wert laufend. Das liegt daran, dass sie innerhalb einer for-Schleife bei jedem Schleifendurchlauf neue Werte zugewiesen bekommen.

Die Wertzuweisung erfolgt, indem Sie den Variablennamen, dahinter ein Istgleichzeichen und dahinter den gewünschten Wert notieren. Bei dem Wert, den Sie zuweisen, können Sie anstelle einer bestimmten Zahl oder einer Zeichenkette auch Namen anderer Variablen notieren. So wird im Beispiel der Variablen `x` bei jedem Schleifendurchlauf als Wert das Ergebnis der mit sich selbst multiplizierten Variablen `i` zugewiesen und `y` das Ergebnis von `i * i * i`.

| Objekte, Eigenschaften und Methoden
| Allgemeine Regeln für JavaScript

© 2007 Impressum