Sie sind hier
E-Book

JavaScript kurz & gut

AutorDavid Flanagan
VerlagO'Reilly Verlag
Erscheinungsjahr2012
Seitenanzahl288 Seiten
ISBN9783868993899
FormatPDF/ePUB
Kopierschutzkein Kopierschutz/DRM
GerätePC/MAC/eReader/Tablet
Preis14,90 EUR
JavaScript ist eine mächtige, objektorientierte Skriptsprache, deren Code in HTML-Seiten eingebettet und vom Browser interpretiert und ausgeführt wird. Richtig eingesetzt, eignet sie sich aber auch für die Programmierung komplexer Anwendungen und hat im Zusammenhang mit HTML5 noch einmal an Bedeutung gewonnen. Diese Kurzreferenz ist ein Auszug aus der überarbeiteten und ergänzten Neuauflage von JavaScript - Das umfassende Referenzwerk, 6. Auflage, der JavaScript-Bibel schlechthin. JavaScript kurz & gut befasst sich in den ersten neun Kapiteln mit der neuesten Version des Sprachkerns (ECMAScript 5) und behandelt die Syntax der Sprache, Typen, Werte, Variablen, Operatoren und Anweisungen sowie Objekte, Arrays, Funktionen und Klassen. All dies ist nicht nur für die Verwendung von JavaScript in Webbrowsern, sondern auch beim Einsatz von Node auf der Serverseite relevant. In den folgenden fünf Kapiteln geht es um die Host-Umgebung des Webbrowsers. Es wird erklärt, wie Sie clientseitiges JavaScript für die Erstellung dynamischer Webseiten und -applikationen verwenden und mit JavaScript auf die HTML5-APIs zugreifen. Diese Kapitel liefern Informationen zu den wichtigsten Elementen von clientseitigem JavaScript: Fenster, Dokumente, Elemente, Stile, Events, Netzwerke und Speicherung.

David Flanagan ist von Hause aus Programmierer, verbringt aber die meiste Zeit damit, über JavaScript und Java zu schreiben. Zu einigem Ruhm innerhalb der Web-Community verhalf ihm das Standardwerk JavaScript - Das umfassende Referenzwerk. Darüber hinaus hat er viele weitere Bücher wie beispielsweise JavaScript - kurz & gut, Java in a Nutshell, Java Examples in a Nutshell und Java Power Reference verfasst. David hat einen Abschluss in Informatik und Ingenieurwissenschaft vom Massachusetts Institute of Technology. Er lebt mit seiner Frau Christie und seinen Kindern im Nordwesten der USA in der Nähe der Grenze zu Kanada, zwischen den Städten Seattle, Washington und Vancouver, British Columbia.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Chapter 3. Ausdrücke und Operatoren


Ein Ausdruck ist eine JavaScript-Äußerung, die der JavaScript-Interpreter auswerten kann, um einen Wert hervorzubringen. Eine Konstante, die direkt in Ihr Programm eingebettet ist, ist eine sehr einfache Art von Ausdruck. Ein Variablenname ist ebenfalls ein einfacher Ausdruck, der zu dem Wert ausgewertet wird, der dieser Variable zugewiesen wurde. Komplexe Ausdrücke werden aus einfacheren Ausdrücken aufgebaut. Ein Array-Zugriffsausdruck besteht beispielsweise aus einem Ausdruck, der zu einem Array ausgewertet wird, auf den eine öffnende eckige Klammer folgt, dann aus einem Ausdruck, der zu einer ganzen Zahl ausgewertet wird, und schließlich aus einer schließenden eckigen Klammer. Dieser neue, komplexere Ausdruck wird zu dem Wert ausgewertet, der unter dem entsprechenden Index im angegebenen Array gespeichert ist. Ähnlich besteht ein Funktionsaufruf aus einem Ausdruck, der zu einem Funktionsobjekt ausgewertet wird, und null oder mehr zusätzlichen Ausdrücken in einer Klammer, die als die Argumente für die Funktion verwendet werden.

Am häufigsten setzt man für den Aufbau komplexer Ausdrücke aus einfachen Ausdrücken Operatoren ein. Ein Operator kombiniert die Werte seiner Operanden (üblicherweise zwei) auf bestimmte Weise und wird zu einem neuen Wert ausgewertet. Der Multiplikationsoperator * ist ein einfaches Beispiel. Der Ausdruck x * y wird zum Produkt der Werte der Ausdrücke x und y ausgewertet. Der Einfachheit halber sagen wir gelegentlich, dass ein Operator einen Wert zurückliefert, nicht »er wird zu einem Wert ausgewertet«.

Ausdrücke


Die einfachsten Ausdrücke, die auch als elementare Ausdrücke bezeichnet werden, sind die, die eigenständig sind – d.h., sie können nicht in weitere elementare Ausdrücke zerlegt werden. Elementare Ausdrücke sind in JavaScript konstante oder literale Werte, einige Schlüsselwörter der Sprache und Variablenreferenzen.

Literale sind konstante Werte, die unmittelbar in Ihr Programm eingebettet sind. Sie sehen beispielsweise so aus:

1.23 // Ein Zahlliteral "hello" // Ein Stringliteral /pattern/ // Ein Regex-Literal

Reservierte Wörter wie true, false, null und this gelten ebenfalls als elementare Ausdrücke.

Die dritte Art von elementarem Ausdruck schließlich sind einfache Variablenreferenzen:

i // Wird zum Wert der Variablen i ausgewertet. sum // Wird zum Wert der Variablen sum ausgewertet.

Erscheint ein Bezeichner unabhängig in einem Programm, geht JavaScript davon aus, dass es sich um eine Variable handelt. Gibt es keine Variable dieses Namens, wird der Ausdruck zum Wert undefined ausgewertet. Im Strict-Modus von ECMAScript 5 führt der Versuch, eine Variable auszuwerten, die es nicht gibt, stattdessen jedoch zu einem ReferenceError.

Initialisierer


Objekt- und Array-Initialisierer sind Ausdrücke, deren Wert ein neu erzeugtes Objekt oder Array ist. Diese Initialisierungsausdrücke werden gelegentlich auch als »Objektliterale« und »Array-Literale« bezeichnet. Im Unterschied zu echten Literalen sind diese jedoch keine elementaren Ausdrücke, weil sie mehrere Teilausdrücke enthalten, die Eigenschafts- und Elementwerte angeben.

Ein Array-Initialisierer ist eine durch Kommata getrennte Liste von Ausdrücken in eckigen Klammern. Der Wert eines Array-Initialisierers ist ein neu erzeugtes Array. Die Elemente dieses neuen Arrays sind auf die Werte der durch Kommata getrennten Ausdrücke initialisiert:

[] // Ein leeres Array [1+2,3+4] // Ein Array mit zwei Elementen. Das erste Element ist // 3, das zweite 7.

Die Elementausdrücke in einem Array-Initialisierer können selbst auch wieder Array-Initialisierer sein, was bedeutet, dass diese Ausdrücke geschachtelte Arrays erstellen können:

var matrix = [[1,2,3], [4,5,6], [7,8,9]];

Nach dem letzten Ausdruck in einem Array-Initialisierer ist ein nachstehendes Komma erlaubt.

Objektinitialisierungsausdrücke ähneln Array-Initialisierungsausdrücken, stehen statt in eckigen Klammern aber in geschweiften Klammern. Außerdem werden jedem Teilausdruck ein Eigenschaftsname und ein Doppelpunkt vorangestellt:

var p = { x:2, y:1 }; // Ein Objekt mit zwei Eigenschaften. var q = {}; // Ein leeres Objekt ohne // Eigenschaften. q.x = 2; q.y = 1; // Jetzt hat q die gleichen // Eigenschaften wie p.

Objektliterale können ebenfalls geschachtelt werden. Zum Beispiel:

var rectangle = { upperLeft: { x: 2, y: 2 }, lowerRight: { x: 4, y: 5 } };

Die Ausdrücke in Objekt- und Array-Initialisierern werden jedes Mal ausgewertet, wenn der Objektinitialisierer ausgewertet wird und müssen keine konstanten Werte haben: Es können beliebige JavaScript-Ausdrücke sein. Außerdem können die Eigenschaftsnamen in Objektliteralen Zeichenketten (mit impliziten Anführungszeichen) statt Bezeichner sein (was nützlich sein kann, wenn man Eigenschaftsnamen angeben muss, die reservierte Wörter sind oder die aus anderem Grund keine zulässigen Bezeichner darstellen):

var side = 1; var square = { "ul": { x: p.x, y: p.y }, 'lr': { x: p.x + side, y: p.y + side}};

Auf Eigenschaften zugreifen


Der Eigenschaftszugriffsausdruck wird zum Wert einer Objekteigenschaft oder eines Array-Elements ausgewertet. JavaScript definiert zwei Syntaxformen für den Eigenschaftszugriff:

Ausdruck . Bezeichner Ausdruck [ Ausdruck ]

Bei der ersten Art des Eigenschaftszugriffs wird ein Ausdruck genutzt, auf den ein Punkt und dann ein Bezeichner folgen. Der Ausdruck gibt das Objekt an und der Bezeichner den Namen der gewünschten Eigenschaft. Bei der zweiten Art des Eigenschaftszugriffs folgt auf den ersten Ausdruck (das Objekt oder Array) ein weiterer Ausdruck in eckigen Klammern. Dieser zweite Ausdruck gibt den Namen der gewünschten Eigenschaft oder den Index des gewünschten Array-Elements an. Hier sind einige konkrete Beispiele:

var o = {x:1,y:{z:3}}; // Ein Beispielobjekt. var a = [o,4,[5,6]]; // Ein Array, das o enthält. o.x // => 1: Eigenschaft x des Ausdrucks o. o.y.z // => 3: Eigenschaft z des Ausdrucks o.y. o["x"] // => 1: Eigenschaft x des Objekts o. a[1] // => 4: Das Element beim Index 1 des // Ausdrucks a. a[2]["1"] // => 6: Das Element beim Index 1 des // Ausdrucks a[2]. a[0].x // => 1: Eigenschaft x des Ausdrucks a[0].

Die .Bezeichner-Syntax ist die einfachere der beiden Optionen für den Eigenschaftszugriff. Beachten Sie jedoch, dass sie nur eingesetzt werden kann, wenn die Eigenschaft, auf die Sie zugreifen wollen, einen Namen hat, der ein zulässiger Bezeichnername ist, und wenn Sie den Namen des Bezeichners bereits beim Schreiben des Programms kennen. Wenn der Eigenschaftsname einem reservierten Wort entspricht, Leerzeichen oder Interpunktionszeichen enthält oder eine Zahl ist (bei Arrays), müssen Sie die Notation mit den eckigen Klammern verwenden. Eckige Klammern werden auch genutzt, wenn der Eigenschaftsname nicht statisch, sondern selbst das Ergebnis einer Berechnung ist.

Funktionsdefinition


Ein Funktionsdefinitionsausdruck definiert eine JavaScript-Funktion, und der Wert eines solchen Ausdrucks ist die neu definierte Funktion. In gewisser Weise ist ein Funktionsdefinitionsausdruck ein »Funktionsliteral«, ähnlich wie ein Objektinitialisierer ein »Objektliteral« ist. Ein Funktionsdefinitionsausdruck besteht üblicherweise aus dem Schlüsselwort function, einer kommaseparierten Liste weiterer Bezeichner (den Parameternamen) in Klammern und einem Block JavaScript-Code (dem Funktionsrumpf) in geschweiften Klammern. Zum Beispiel:

// Diese Funktion liefert das Quadrat des übergebenen Werts. var square = function(x) { return x * x; }

Funktionen können auch mit einer Funktionsanweisung statt einem Funktionsausdruck definiert werden. Vollständige Informationen zu Funktionsdefinitionen finden Sie in Chapter 7.

Aufruf


Als Aufrufausdruck bezeichnet man JavaScripts Syntax für den Aufruf (oder die Ausführung) einer Funktion oder Methode. Sie beginnt mit einem Funktionsausdruck, der die aufzurufende Funktion bezeichnet. Auf den Funktionsausdruck folgen eine öffnende Klammer, eine kommagetrennte Liste mit null oder mehr Argumenten und eine schließende Klammer. Ein paar Beispiele:

f(0) // f ist der Funktionsausdruck; // 0 ist der Argumentausdruck. Math.max(x,y,z) // Math.max ist die Funktion; // x, y und z sind die Argumente. a.sort() // a.sort ist die Funktion; es gibt // keine Argumente.

Wird ein Aufrufausdruck ausgewertet, wird zuerst der Funktionsausdruck ausgewertet. Anschließend werden die Argumentausdrücke ausgewertet, um...

Blick ins Buch

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

crescendo

crescendo

Die Zeitschrift für Blas- und Spielleutemusik in NRW - Informationen aus dem Volksmusikerbund NRW - Berichte aus 23 Kreisverbänden mit über 1000 Blasorchestern, Spielmanns- und Fanfarenzügen - ...

DHS

DHS

Die Flugzeuge der NVA Neben unser F-40 Reihe, soll mit der DHS die Geschichte der "anderen" deutschen Luftwaffe, den Luftstreitkräften der Nationalen Volksarmee (NVA-LSK) der ehemaligen DDR ...

VideoMarkt

VideoMarkt

VideoMarkt – besser unterhalten. VideoMarkt deckt die gesamte Videobranche ab: Videoverkauf, Videoverleih und digitale Distribution. Das komplette Serviceangebot von VideoMarkt unterstützt die ...