Variablen

In Ihrem Computer gibt es Speicherplatz, der für schnelles Lesen und Schreiben von Daten genutzt wird. Diesen Speicher nennt man RAM. Davon gibt es z.B. 8GB. Das sind 8.000.000.000 Bytes. In diesem Speicher stehen z.B. von Ihnen eingegebene Daten, Programmcode zur Ausführung durch den Prozessor, ...

Speicherplatz reservieren

Sie möchten sich etwas merken, z.B.
  • eine Zahl,
  • eine Farbe,
  • einen Namen,
  • einen Ort,
  • einen Wert auf der Anzeige Ihres Fieberthermometers oder
  • eine Aussage über FALSCH oder RICHTIG.
Für die Speicherung solcher Daten benötigt man Speicherplatz.
Für die Reservierung des Speicherplatzes stehen Ihnen in jeder Programmiersprache Variablen zur Verfügung.
Speicherplätze reservieren Sie in Javascript durch das Schlüsselwort var und einen von Ihnen gewählten Bezeichner wie folgt:
// Anlegen einer Variable
var zahl;
var farbe;
var name;
var ort;
var fiebertherm;
var aussage;

Variablen benennen

Es ist nicht egal, wie sie eine Variable benennen! Je mehr Quellcode Sie schreiben, desto unverständlicher wird das Programm, wenn Ihre Variablen a, b und c lauten. Wählen Sie für Ihre Variablennamen grundsätzlich sprechende Bezeichner wie im obigen Beispiel. So können Sie Ihren Quelltext auch noch verstehen, wenn sie nach drei Wochen Abwesenheit diesen weiter bearbeiten und ergänzen möchten. Software wird heute in Teams entwickelt, in denen jeder Kollege von Ihnen erwartet, dass der Quellcode maximal verständlich geschrieben wird. Dazu gehören auch sprechende Variablennamen.

Werte zuweisen

Bevor Sie Variablen nutzen, sollten Sie diese erst einmal anlegen. In Ihren Variablen können Sie beliebige Werte speichern. Wenn eine Variable einen neuen Wert bekommt, so spricht man von Zuweisung. Eine Zuweisung ist immer am Gleichheitszeichen zu erkennen.
// Zuweisen von Werten
zahl        = 128;
farbe       = "rot";
name        = "Rüdiger";
ort         = "Berlin";
fiebertherm = 40;
aussage     = true;
Warum werden die Werte mal mit und mal ohne Anführungszeichen geschrieben? Dazu kommen wir in den nächsten Absätzen.

Zahlen (Integer, Float)

Zahlen stellt ein Computer im Dualsystem dar. Das Dualsystem haben Sie vielleicht bereits im Mathematik-Unterricht kennen gelernt. Positive ganze Zahlen kann man direkt im Dualsystem speichern. Aus der Zahl 128 wird im Computer z.B. einfach die Bitfolge 10000000. Die Zuweisung von Zahlen erfolgt ohne Anführungszeichen.
zahl        = 128;
fiebertherm = 40;

Zeichen / Zeichenketten

Jedes auf einer Tastatur einzeln nacheinander eingegebene Zeichen wird im Computer durch eine Zahl repräsentiert. Der Druck auf die Taste "A" erzeugt im Computer die Zahl 65, d.h. eine Folge von Bits - in diesem Fall 01000001 entsprechend der im ANSI-Zeichensatz festgelegten Zahlenwerte für diese Zeichen. Wenn man jetzt mehrere Tasten nacheinander drückt, so erhält man eine Zeichenkette. Eine Zeichenkette (engl. String) ist also eine Aneinanderreihung der Codes mehrerer aufeinander folgender Tastatureingaben. Solche Zeichenketten werden im Computer in Anführungsstrichen dargestellt, z.B. so "Dies ist eine einzige Zeichenkette mit 49 Zeichen". Die Eingabe der Zeichen '1', '2' und '8' über die Tastatur ergibt die Zeichenkette "128" und führt im Computer entsprechend Zeichensatz zum Speichern der Zahlen 49, 50 und 56 im Dualsystem als Bitfolge 00110001-00110010-00111000.
farbe       = "rot";
name        = "Rüdiger";
ort         = "Berlin";
Merke:
Tastatur-Eingaben sind immer Zeichenketten und müssen im Falle von Zahleneingaben anschließend in solche gewandelt werden! Das macht in vielen Fällen der Computer automatisch. Besser ist es jedoch, immer selbst auf die korrekte Wandlung zu achten, da nur so die fehlerfreie Funktion des Programms gewährleistet werden kann.

Wahrheitswerte / Boolean

Für die Aussage wahr/falsch gibt es noch einen Variablentyp, in dem man die vorgegebenen Werte false und true speichern kann.
aussage = true;    // oder
aussage = false;

Typen

Sie haben beim Lesen der letzten beiden Absätze sich bemerkt, dass 10000000 ungleich 00110001-00110010-00111000
ist. Es ist also wichtig zu wissen, ob hier die Ziffern 1,2 und 8 abgespeichert wurden oder die Zahl 128! Sie erkennen den Typ von Variablenwerten in Ihrem Quelltext jeweils daran, ob der Wert in Anführungszeichen geschrieben wird oder ohne, d.h. ...
zahl = 128;
text = "128";

Variablentypen ermitteln

Um richtig programmieren zu können, ist es also wichtig, den Unterschied zwischen verschiedenen Variablentypen zu kennen - auch wenn alle Variablentypen für Sie erst einmal nur Speicherplätze sind! Testen Sie doch z.B. einfach mal Ihre Variablentypen, z.B. wie folgt:
<script type="text/javascript">
 
  var Zahl = 128;
  alert(typeof Zahl);
 
  var Eingabe = "Hallo Welt!";
  alert(typeof Eingabe);
 
  var korrekteEingabe = false;
  alert(typeof korrekteEingabe);
 
</script>
Mögliche Ergebnisse sind z.B.
  • boolean (true/false-Variable)
  • string (Zeichenkettenvariable)
  • number (Zahlen-Variable)
  • undefined (unbestimmter Typ)
  • ...

Wandlung von Variablentypen

// Die folgenden Variablen enthalten Text nach der Eingabe
var eingabe1;
var eingabe2;
 
// Die folgenden Variablen enthalten Zahlen nach der Wandlung der Eingaben
var ganzeZahl;
var kommaZahl;
 
// E I N G A B E
 
eingabe1 = prompt("Ganze Zahl eingeben: ");
eingabe2 = prompt("Kommazahl eingeben: ");
 
// V E R A R B E I T U N G
 
// Umwandlung der ersten Texteingabe in eine ganze Zahl
ganzeZahl = parseInt( eingabe1 );
// Umwandlung der zweiten Texteingabe in eine Kommazahl
kommaZahl = parseFloat( eingabe2 );
 
// Addition
var ergebnis = ganzeZahl + kommaZahl;
 
// A U S G A B E
 
document.write( "Das Ergebnis der Addition von "
              + ganzeZahl
              + " und "
              + kommaZahl
              + " lautet: "
              + ergebnis );
 
 

Variablennamen - ein paar sinnvolle Regeln für den Spickzettel

  • Variablennamen sollten für sich sprechen. Benennen Sie Variablen nach den Werten, die sie darin speichern!
  • Schreiben Sie Variablennamen nach Möglichkeit konsequent klein. Wenn man Groß- und Kleinschreibung nutzt, dann kann es im Programm zu Fehlern kommen, wenn man Variablennamen im Programm aus Versehen mal mit Groß- und mal mit Kleinbuchstaben schreibt.
  • Kürzen Sie Variablennamen nicht so ab, dass niemand mehr weiss, was darin gespeichert sein könnte!
  • Variablen dürfen keine beliebigen Namen haben. So sind Schlüsselwörter verboten. Eine Variable kann z.B. nicht var heissen, weil das Schlüsselwort var in Javascript dazu dient, dem Browser klar zu machen, dass gleich ein Variablenname folgt.
  • In Variablennamen sollten auch keine Sonderzeichen oder Umlaute vorkommen. Die machen oft Ärger.
  • Am Anfang von Variablennamen stehen keine Zahlen.
  • In Variablennamen gibt es keine Leerzeichen.

Fachbegriffe zum Thema Variablen

Deklarieren
Das erste Auftreten einer Variable im Skript ist die Bekanntmachung des Variablennamens. Eine Variable das erste Mal erwähnen ist also die Deklaration. In Javascript werden die Variablen meist am Anfang des Skripts bekanntgemacht durch das Schlüsselwort var und den Variablennamen dahinter; z.B. so: var zahl;
Initialisieren
Eine neu angelegte Variable hat in Javascript immer den Wert undefined, d.h. der Wert der Variable ist völlig unklar, weil es keinen gibt! Daher bekommen die meisten Variablen bei der Deklaration bereits einen Wert zugewiesen (z.B. var zahl = 0;). Das nennt man Initialisierung. Man kann die Deklaration und die Initialisierung auch voneinander trennen. Das sieht dann wie folgt aus:
var zahl;
zahl = 0;

Sobald Sie im Unterricht das Thema Funktionen behandelt haben, müssen Sie zusätzlich wissen, was globale bzw. lokale Variablen sind:
Globale Variable
Eine Variable, welche am Anfang des Programms steht und im ganzen Proramm genutzt werden kann, nennt man globale Variable.
Lokale Variable
Eine Variable, welche in einer Funktion verwendet wird, ist nur dort gültig. Solche Variablen nennt man lokale Variablen. Sie sind im restlichen Programm unbekannt. Gute Programmierer versuchen, möglichst ausschließlich lokale Variablen zu verwenden. Durch diese Maßnahme wird die Anzahl möglicher Fehlerquellen beim Programmieren deutlich reduziert.