Wohin mit den Informationen?
Wenn Informationen aller Art gesammelt und verarbeitet werden sollen, müssen sie irgendwo im Rechner gespeichert werden und ggf. wiederholt abfragbar sein, also eine Adresse oder einen Namen haben. Letztere nennt man -etwas grob ausgedrückt- eine Variable. Davon gibt es Typen, nämlich z.B. ganz sparsame (Ja/Nein) oder ganz aufwendige (Goethes gesammelte Werke). Welche Typen es gibt und wie man mit ihnen umgeht, wird auf dieser Seite beschrieben.
Datentypen
Es gibt vier „normale“ Datentypen. JavaScript gilt als „untypisiert“, man kann alle Daten ohne Deklaration und Zuordnung zu einem Typ verwenden. JavaScript wandelt je nach Notwendigkeit Daten in den jeweils erforderlichen Typ um.
Datentyp | Bedeutung | Wertebereich | ||||
boolean | Boolscher Wert, Wahrheitswert | False und True | ||||
number | Zahl, 8 Byte lange Fließkommazahl nach IEEE-Standard | von +/-2.2250738585072014*10-308 bis +/-1.7976931348623157*10308; dezimal: Natürliche und rationale Zahlen, Exponentialschreibweise -> 3 4.66 3.6E-21 oktal: Ganzzahlen, Kennzeichen ist führende Null -> 023 hexadezimal: Ganzzahlen mit führendem 0X bzw. 0x -> 0xFF Zum Typ number gibt es einige spezielle Werte
| ||||
string | Zeichenkette | |||||
undefined | Variable ohne Wertzuweisung | null |
Zu den Datentypen gehören ungewohnterweise aber auch:
function | können wie normale Variable in arrays gespeichert, als Parameter anderer Funktionen aufgerufen, als Eigenschaften beliebigen Objekten zugewiesen werden. | Beispiel: funktionsname(variable1,variable2,..); lies(eintrag,ergebnis); |
object | Ansammlung benannter Daten (= Eigenschaften) zu denen auch Funktionen gehören, die dann Methoden genannt werden. Zugriff erfolgt durch Nennung des Objektnamens, gefolgt von Punkt und Eigenschafts- oder Methodennamen oder in der Form „assoziativer Arrays“ | Eigenschaft: picture.height, picture.width; picture["height"], picture["width"]; Methode: document.write("*"); |
array | sind Datenfelder, die über natürliche Zahlen (den Index) indiziert werden | forms[0], forms[1]; |
Variable erzeugen
- Variable sollten -aber müssen nicht- vor ihrer Verwendung deklariert werden. Die Deklaration reserviert Speicherplatz.
- Es ist bei der Deklaration nicht nötig, den Datentyp festzulegen. Letzteres geschieht allein durch Zuweisung eines Wertes. Auch alleinige Zuweisung reicht zur Deklaration aus.
- Gleichzeitige Deklaration und Zuweisung heißt Initialisierung
Variablendeklaration: var Variablenname1[, Variablenname2[, ...]]; | var a, x_wert, y_wert, name; |
Wertzuweisung: Variablenname = Wert; | a = false; ODER x_wert = 3.654; ODER name = "Meyer"; ODER name = 'Meyer'; |
Initialisierung: var Variablenname = Wert; | var Kohle = 1E6; ODER var Licht = true; ODER var stadt = "Plauen"; |
- Wo gelten Variable? Variable gelten auf einer ganzen Seite, global.
- Wird innerhalb einer Funktionsdefinition ein Variablenname erneut verwendet, dann kann durch Deklaration mit var innerhalb der Funktion erreicht werden, daß die zweite Variable lokal, d.h. von der globalen unabhängig gilt.
- Variablennamen können beliebig lang werden, dürfen aber kein Leerzeichen enthalten
- bei Variablennamen wird zwischen Groß- und Kleinbuchstaben unterschieden!
- Variablennamen dürfen keine Schlüsselwörter von JavaScript sein
Arrays anlegen
Arrays oder Felder von Variablen werden wie folgt gehandhabt:
Deklaration: var ArrayName = new Array (Größe); | var person = new Array(100); |
Wertzuweisung: ArrayName[Nummer] = Wert; | person[0] = "Peter"; person[1]= "Manfred"; person[2]="Karl"; ..... |
Initialisierung: var Variablenname = new Array (Wert1, Wert2, .. ); | var name = new Array ("Müller","Lehmann","Schulze",..); Ergebnis: name[1] hat den Wert Lehmann. |
Erweiterung: var berg = new Array (5); berg[27] = "Mount Everest" |
- Arrays zählen immer ab 0. Sie müssen nicht lückenlos belegt sein.
- Arrays können nachträglich erweitert, aber nicht verkleinert werden.
- Arrays können nur eine Dimension besitzen. Allerdings kann für einzelne oder alle Arraykomponenten ein jeweils neues Array angelegt werden. Die Schachtelungstiefe ist nicht beschränkt.
- Der Zugriff auf erfolgt dann mit: ArrayName[Dim1_Nummer],[Dim2_Nummer]
- Arrays können, anders als in „klassischen“ Programmiersprachen Daten unterschiedlicher Typen enthalten. Deshalb kann JavaScript komplette Datenbankdateien innerhalb eines Arrays handhaben.
Achtung Falle!
Wenn ausdrücklich JavaScript 1.2 deklariert ist, hat die einfache Deklaration name = new Array(zahl); eine andere Bedeutung als bei JavaScript. Hier wird ein Array angelegt, dessen erstes Element die Nummer zahl erhält.
Viel Spass beim Lernen und beim Erstellen eigener JavaScripts.