Zum Inhalt

Inhaltsverzeichnis • Teil 5 - JavaScript • Definitionen • Datenstrukturen
⇦ Intern / Ablauf ⇨
23.07.2014 18:53:57

Datenstrukturen

Einführung

Im internen Definitionsbereich deklarieren sie neben einfachen Variablen auch komplexe Datenstrukturen wie Arrays oder Objekte.

Komplexere Datenstrukturen kennen sie aus der Realität vor allem als Listen und Tabellen. Aber auch alle Strukturen wie Listen mit Unterpunkten können als Daten benutzt werden. Alle diese Konstrukte können sie in JS mit Arrays und Objekten nachbilden.

Datenstrukturen

Datenstrukturen (komplexe Variablen) sind in JS vor allen verschiedene Array-Typen aber auch Objektklassen.

Felder (Array)

Arrays können sie sich wie durchnumerierte Schubfächer vorstellen, in denen sie Werte gleichen Typs (Zahl, Zeichenkette) ablegen können.

Array
SchubfachInhalt
1"Montag"
2"Dienstag"
3"Mittwoch"
4"Donnerstag"
5"Freitag"
6"Samstag"
7"Sonntag"

In JS schreibt man das dann wie folgt:

var tage = new Array ("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag");

Allerdings beginnt die automatische Numerierung (der Schubfächer) bei Null und nicht bei Eins. Der Zugriff auf ein Schubfach erfolgt mit tage[Schubfachnumer].

tage[3] → "Donnerstag"

Sie können allerdings Arrays nur über die Elementeanzahl (Bespiel → 10) auch ohne Angabe konkreter Elemente mit

var tage = new Array (10);

deklarieren oder sogar ganz ohne Anzahl mit

var tage = new Array ();

Mehrdimensionale Arrays

Mehrdimensionale Arrays erzeugen wir, in dem wir einen normalen Array-Element wieder ein Array zuweisen (allerdings meist in einer Schleife):

var Dim1 = new Array (4);
Dim1[0] = new Array (3);
Dim1[1] = new Array (3);
Dim1[2] = new Array (3);
Dim1[3] = new Array (3);

In diesem Fall haben wir also die Schubladen der Spalte 0-3 und der Reihe 0-2.

Schubladen des 4x3 Arrays
0 / 01 / 02 / 03 / 0
0 / 01 / 12 / 13 / 1
0 / 01 / 22 / 23 / 2

Der Zugriff erfolg dann mit a[x][y]

Anmerkung: Wenn sie jetzt an Excel und seine Organisation in Zellen denken, liegen sie sicherlich nicht verkehrt.

Assoziative Arrays

In normalen Arrays greifen sie auf die Elemente mit einen Zahlenindex (auch Schlüssel genannt) zu. So ein Schlüssel muss allerdings nicht unbedingt eine Zahl sein, sondern kann auch eine Zeichenkette sein. Dann spricht man vom assoziativen Array.

Da allerdings JS assoziative Arrays nur als Sonderform des Objekts benutzen kann, werden wir diese dort besprochen.

Objektklassen

Objektklassen (auch Objekttypen oder einfach nur Klassen genannt) sind die Definitionen von Objekten (auch (Objekt-)Instanzen). Die Objektorientierte Programmierung (OOP) versucht das Konzept eines Objektes der realen Welt in die Welt der Informatik zu übertragen.

Objektorientierung umfaßt:

Eigenschaften
Objekte haben bestimmte Eigenschaften (Attribute und Methoden)
Attribute
Attibute speichern wie Variablen Eigenschaften eines Objekts
Beispiel Mensch
Größe, Farbe, Alter, …
Beispiel HTML-Dokument
Größe, Hintergrundfarbe, Schriftart, …;
Methoden
Führen wie Funktionen Anweisungen zu dem Objekt aus
Beispiel Mensch
er kann laufen, reden, schlafen, …
Beispiel HTML-Dokument
man kann Texte einfügen, Tags auswählen und maipulieren, …
Vererbung
Bei der Verbung werden Eigenschaften von einer Vaterklasse an eine Kindklasse weitergegeben
Beispiel Mensch
Der Vater vererbt seine Eigenschaften an sein Kind. Einzelne Eigenschaften können variieren.
Beispiel HTML-Dokument
Jedes Tag hat bestimmte Eigenschaften, die es erbt. Es kann aber weitere Attribute bekommen.

function Klassenname() {
this.Attribut = "Wert";
this.Methode = MethodenFunktion;
}
function MethodenFunktion(Parameter1) {
Anweisungsblock;
}

var Objekt = new Klassenname();

Da Objekte mit ihren Methoden sich wie Funktionen verhalten, besprechen ich sie ausführlich weiter unten im „Ablauf“.

Zusammenfassung

⇦ Intern / Ablauf ⇨
Nach oben