JavaScript - auf Matthias-Draeger.info

JavaScript - auf Matthias-Draeger.info JavaScript - auf Matthias-Draeger.info

matthias.draeger.info
von matthias.draeger.info Mehr von diesem Publisher
29.06.2015 Aufrufe

Objekte in JavaScript • Prototyp-Objekte statt Klassen • Eigenschaften, Attribute (properties) • Komponenten (sub-objects) • Methoden (methods) • Ereignisse (events) • Erzeugung mit Funktion als Konstruktor, z.B. function Complex(re, im) { this.re = re; this.im = im; } const notpi = new Complex(3.14, x); (vgl. Beta) • Somit Funktionsname als Ersatz für Klassenname! • ... oder kürzer mit Wertbezeichner in { }: const notpi = { re: 3.14, im: x } • Die Eigenschaften sind auch als Tabelle (assoziatives Feld) ansprechbar: notpi.re == notpi["re"] Robert Tolksdorf und Peter Löhr 18

Methoden von Objekten • Methoden können als Funktionen dem Konstruktor übergeben oder auch dynamisch (!) an ein Objekt gebunden werden. Der Methodenname kann ad hoc eingeführt werden! Beispiel: object.method1 = somefunction; object.method1(...); // binding // invocation Die Funktion bezieht sich mittels this auf das Objekt. • Funktionen sind selbst wiederum Objekte. • Objektmodell ist extrem reichhaltig und flexibel. • Zum JavaScript-Experten wird man nicht an einem Tag. Robert Tolksdorf und Peter Löhr 19

Objekte in <strong>JavaScript</strong><br />

• Prototyp-Objekte statt Klassen<br />

• Eigenschaften, Attribute (properties)<br />

• Komponenten (sub-objects)<br />

• Methoden (methods)<br />

• Ereignisse (events)<br />

• Erzeugung mit Funktion als Konstruktor, z.B.<br />

function Complex(re, im) { this.re = re; this.im = im; }<br />

const notpi = new Complex(3.14, x); (vgl. Beta)<br />

• Somit Funktionsname als Ersatz für Klassenname!<br />

• ... oder kürzer mit Wertbezeichner in { }:<br />

const notpi = { re: 3.14, im: x }<br />

• Die Eigenschaften sind auch als Tabelle (assoziatives<br />

Feld) ansprechbar: notpi.re == notpi["re"]<br />

Robert Tolksdorf und Peter Löhr 18

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!