| # Hinweise zur JavaScript-Objektreferenz
| Objekthierarchie Objektreferenz verwenden

## Objekthierarchie

Es gibt zwei Gruppen von vordefinierten Objekten im klassischen JavaScript.

Die eine Gruppe ist jene, die das Browser-Fenster - markiert durch das window-Objekt - zum Ausgangspunkt hat. Das Browser-Fenster ist der allgemeine Rahmen für alles, was innerhalb davon angezeigt wird. Das, was innerhalb davon angezeigt wird, gilt als Dokument, markiert durch das document-Objekt. Letzteres ist wiederum für das Document Object Model (DOM) das oberste Ausgangsobjekt. Und ausgehend vom `document`-Objekt gibt es leider zwei verschiedene "Objekt-Philosophien", die heute nebeneinanderstehen: Im klassischen JavaScript enthält ein Dokument nämlich bestimmte Elemente, auf die mit JavaScript zugegriffen werden kann, zum Beispiel Grafiken - markiert durch das images-Objekt, oder Formulare - markiert durch das forms-Objekt. Formulare wiederum bestehen aus Formularelementen - markiert durch das elements-Objekt. Im neueren Modell des Internet Explorers und auch des DOM ist dagegen nicht nur der Zugriff auf solche bestimmten Elementtypen möglich, sondern der Zugriff auf alle Elemente eines Dokuments - nach Syntax des Internet Explorers markiert durch das all-Objekt, und nach DOM-Syntax markiert durch bestimmte Zugriffsmethoden des `document`-Objekts, durch die HTML-Elementobjekte und das node-Objekt. Diese beiden widerstreitenden Modelle zwischen klassischem JavaScript und den neueren Modellen sorgen leider für viel Verwirrung. Die neueren Modelle sind zweifellos durchdachter und bieten dem JavaScript-Programmierer viel mehr Möglichkeiten. Doch die "Jugendsünden" von Netscapes klassischem JavaScript sind nun mal nicht so leicht aus der Welt zu schaffen, und so bestehen die Modelle auf unabsehbare Zeit weiter nebeneinander.

Die zweite Gruppe von JavaScript-Objekten sind jene, die nichts direkt mit dem Geschehen im Anzeigefenster zu tun haben, aber wichtige andere Daten liefern oder Funktionen ausüben. Netscape bezeichnet sie als core objects (Kernobjekte). Typische Vertreter dieser zweiten Gruppe sind etwa das Date-Objekt für Datums- und Uhrzeitberechnungen, das navigator-Objekt für Informationen zum verwendeten Browser, oder das Array-Objekt zum Erzeugen von Serienvariablen. Auch bei dieser Gruppe gibt es ein paar hierarchische Beziehungen. So ist beispielsweise das plugins-Objekt ein Unterobjekt des `navigator`-Objekts.

Objekthierarchien werden in JavaScript stets dadurch ausgedrückt, dass die Objekte aneinandergereiht und durch Punkt getrennt werden. Typisch sind Notationen sehen so aus wie `window.document.images.length`. Dabei steht `window` für das Browser-Fenster, in dem das JavaScript läuft, `document` für das in diesem Fenster angezeigte Dokument, `images` für die Gesamtheit der in dem Dokument enthaltenen Grafikreferenzen, und `length` für eine Eigenschaft des `images`-Objekts.

Abgesehen von dieser einfachen Grundregel haben viele Objekte jedoch ihre Besonderheiten. Bei den Beschreibungen zu den jeweiligen Objekten wird darauf hingewiesen.

## Objektreferenz verwenden

Jedes JavaScript-Objekt wird in dieser Referenz nach folgendem Schema beschrieben:

### Allgemeines zur Verwendung

In diesem Abschnitt wird beschrieben, welche Voraussetzungen erfüllt sein müssen, damit Sie die Eigenschaften und Methoden des Objekts benutzen können. Lesen Sie diesen Abschnitt genau, wenn Sie mit dem Objekt noch nie gearbeitet haben.

### Eigenschaften

In diesem Abschnitt werden die Eigenschaften eines Objekts beschrieben. Eine Eigenschaft eines JavaScript-Objekts ist zum Beispiel `window.location.href` - den URI der aktuell angezeigten HTML-Datei. Die Werte von solchen Objekteigenschaften können Sie in jedem Fall auslesen. In vielen Fällen können Sie die Werte auch ändern. In der Objektreferenz wird jeweils angegeben, ob Sie eine gespeicherte Objekteigenschaft nur auslesen oder auch ändern können. Dazu werden in dieser Objektreferenz folgende Signalisierungen benutzt:

Symbol | Bedeutung
--- | ---
| Sie können den Wert der Eigenschaft auslesen, aber nicht ändern. Sie können den Wert zum Beispiel in einer selbst definierten Variablen speichern. So können Sie beispielsweise den URI der angezeigten HTML-Datei durch `var Adresse = window.location.href` in einer Variablen namens `Adresse` speichern. Das heißt, Sie weisen einer Variablen den Wert der Objekteigenschaft zu. Die Variable können Sie nach Belieben weiterverarbeiten.
| Sie können die Objekteigenschaft auslesen, ihr aber auch selbst einen neuen Wert zuweisen. So können Sie zum Beispiel den URI der angezeigten HTML-Datei durch `window.location.href = "http://de.selfhtml.org/"` ändern. Das heißt, Sie weisen der Objekteigenschaft einen Wert zu. Im Beispiel hat das zur Folge, dass der Web-Browser einen Sprung zu dem angegebenen URI ausführt.

### Methoden

Methoden eines Objekts sind objektgebundene Funktionen, die eine Aktion ausführen. So können Sie zum Beispiel mit `document.write("<b>Ihr Web-Browser: <\/b>" + navigator.userAgent)` dynamisch erzeugten, HTML-formatierten Text in das aktuelle Anzeigefenster des Web-Browsers schreiben. Im Beispiel wird auf diese Weise der vom Anwender verwendete Web-Browser-Typ ins Anzeigefenster geschrieben.

| window
| Event-Handler

© 2005 Impressum