JavaScript kurz & gut (eBook)
288 Seiten
O'Reilly Verlag
978-3-86899-930-3 (ISBN)
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.
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.
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-LiteralReservierte 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:
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...
Erscheint lt. Verlag | 3.10.2012 |
---|---|
Verlagsort | Heidelberg |
Sprache | deutsch |
Themenwelt | Mathematik / Informatik ► Informatik ► Betriebssysteme / Server |
Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge | |
Schlagworte | Skriptsprache • Web • Web-Entwicklung • Web-Programmierung |
ISBN-10 | 3-86899-930-2 / 3868999302 |
ISBN-13 | 978-3-86899-930-3 / 9783868999303 |
Haben Sie eine Frage zum Produkt? |
![PDF](/img/icon_pdf_big.jpg)
Größe: 2,4 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: PDF (Portable Document Format)
Mit einem festen Seitenlayout eignet sich die PDF besonders für Fachbücher mit Spalten, Tabellen und Abbildungen. Eine PDF kann auf fast allen Geräten angezeigt werden, ist aber für kleine Displays (Smartphone, eReader) nur eingeschränkt geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
![EPUB](/img/icon_epub_big.jpg)
Größe: 2,3 MB
Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopierschutz. Eine Weitergabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persönlichen Nutzung erwerben.
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise
Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich