Sie sind hier
E-Book

JavaScript

Die universelle Sprache zur Web-Programmierung

AutorRalph Steyer
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2014
Seitenanzahl400 Seiten
ISBN9783446439474
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis29,99 EUR
JAVASCRIPT //
- Syntax und Konzeption von JavaScript
- JavaScript im Umfeld des modernen Webs
- Programmierung von leistungsfähige Rich Internet Applications (RIAs)
- Fortgeschrittene Techniken rund um HTML5
Mit JavaScript steht die derzeit einzige Möglichkeit bereit, mit der Sie plattformübergreifend im WWW auf Seiten des Clients (also im Browser) programmieren können. Sie können damit beispielsweise eine Webseite an unterschiedliche Browser und Plattformeinstellungen des Besuchers anpassen, Benutzereingaben in einer Webseite plausibilisieren, Teile einer Webseite durch dynamisch nachgeladene Daten austauschen (AJAX), die Webseite nach dem Laden dynamisch verändern (DHTML) oder auch gezielt auf Aktionen eines Besuchers in der Webseite reagieren. Aber auch auf Serverseite oder bei mobilen Anwendungen gewinnt JavaSript an Bedeutung.
Das vorliegende Buch vermittelt Ihnen zunächst das Basiswissen, um die Skriptsprache JavaScript in Verbindung mit internen JavaScript-Objekten und vor allem DOM-Objekten optimal zu nutzen. Berücksichtigt werden dabei auch die neuen Spracheigenschaften und Aspekte von HTML5/DOM5 sowie erweiterte JavaScript-Möglichkeiten wie Ausnahmebehandlung, Prototyping und die Umsetzung der objektorientierten Programmierung (OOP) in JavaScript sowie insbesondere AJAX.
AUS DEM INHALT //
Grundlagen und Umfeld von JavaScript / Vorbereitendes Basiswissen (HTML und XHTML mit den Neuerungen von HTML5, CSS mit den Neuerungen von CSS3, XML) / JavaScript in Webseiten einbinden / Elementare Grundstrukturen in JavaScript / Fehlersuche und -behandlung / Alles zu JavaScript und Objekten / Ereignisbehandlung / Ausnahmebehandlung / DHTML / AJAX / Fortgeschrittene JavaScript-Techniken (Objekterweiterung und Prototyping, Zeichnen mit Canvas- und SVG-Objekten, Local Storage, Push-Services, serverseitiges JavaScript mit Node.JS, Geodating etc.)

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Inhalt6
Vorwort14
1 Einleitung16
1.1 Über das Buch16
1.1.1 An wen sich das Buch wendet17
1.1.2 Wie dieses Buch organisiert ist17
1.2 Was Sie unbedingt haben sollten18
1.2.1 Die Hardware18
1.2.2 Die Software19
1.2.3 Node.js und Git22
1.2.4 Browser als Zentrale der Webentwicklung23
2 Grundlagen und erste Beispiele26
2.1 Erste JavaScript-Beispiele26
2.1.1 Ein einfaches Mitteilungsfenster26
2.1.2 Schreiben eines angepassten Aktualisierungsdatums30
2.1.3 Entgegennahme einer Benutzereingabe31
2.2 Einige Details zum Internet und zum WWW32
2.3 Die Besonderheit bei der ­Webprogrammierung32
2.3.1 Kompilierung versus Interpretation33
2.3.2 Unterschiedliche Plattformen und Interpretation33
3 Vorbereitende Basics36
3.1 Der Aufbau von (X)HTML-Dateien36
3.1.1 Das Prinzip der Fehlertoleranz37
3.2 Ein erster Blick auf Objekte und das DOM-Konzept41
3.3 HTML5 und DOM542
3.3.1 Das neue Vokabular43
3.3.2 Das neue DOM5-Konzept und die MIME-Typen von HTML551
3.3.3 Das Namensraumkonzept von HTML552
3.3.4 Die erwartete Darstellung52
3.3.5 Der Browserkontext und die Kommunikation zwischen ­verschiedenen Kontexten53
4 Die Versionen von JavaScript und die Einbindung in Webseiten54
4.1 Die Versionszyklen von JavaScript und ECMAScript54
4.2 JavaScript in Webseiten einbinden55
4.2.1 Die Inline-Referenz55
4.2.2 Notation eines Skript-Containers in der Webseite56
4.2.3 Die Verwendung von externen JavaScript-Dateien58
4.3 Der gemeinsame Namensraum60
4.4 Der 60
4.5 Kann man testen, ob bei einem Browser JavaScript aktiviert ist?60
4.5.1 Eine Browserweiche61
5 Elementare JavaScript-Grundstrukturen64
5.1 Token und Parser65
5.1.1 Token65
5.1.2 Parser65
5.2 Kommentare in JavaScript65
5.2.1 Einzeilige Kommentare in JavaScript66
5.2.2 Mehrzeilige Kommentare in JavaScript66
5.3 Schlüsselwörter in JavaScript67
5.4 Datentypen, Variablen und Literale69
5.4.1 Datentypen und die JavaScript Global Properties69
5.4.2 Literale und Steuerzeichen bei Zeichenketten72
5.4.3 Variablen anlegen74
5.5 Anweisungen77
5.5.1 Ausdrücke77
5.5.2 Blöcke78
5.5.3 Operatoren und Operanden78
5.5.4 Die Operatoren typeof und delete86
5.6 Kontrollstrukturen in JavaScript92
5.6.1 Entscheidungsanweisungen92
5.6.2 Iterationsanweisungen97
5.6.3 Sprunganweisungen101
5.7 Arrays103
5.7.1 Ein Array erzeugen103
5.7.2 Zugriff auf Array-Elemente und der Index105
5.7.3 Beispiele106
5.7.4 Mit Schleifen auf Array-Elemente zugreifen107
5.8 Funktionen, Prozeduren und Methoden111
5.8.1 Funktion, Prozedur, Methode112
5.8.2 Verwendung von Standardfunktionen112
5.8.3 Die Definition eigener Funktionen116
5.8.4 Der Aufruf einer Funktion118
5.8.5 Beispiele zum Nutzen von selbstdefinierten Funktionen118
5.8.6 Lokale Variablen in Funktionen122
5.8.7 Flexible Anzahl an Funktionsargumenten und der Token arguments123
5.8.8 Rekursive Funktionsaufrufe127
5.8.9 Funktionsreferenzen131
5.8.10 Benannte versus anonyme Funktionen132
5.8.11 Innere Funktionen – Closures133
5.8.12 Callbacks134
5.9 Aufruf einer JavaScript-Funktion per Eventhandler136
5.9.1 Was ist ein Ereignis?136
5.9.2 Ein Mechanismus zur Reaktion auf Ereignisse137
6 Fehlerbehandlung, Dokumentation und Qualitätskontrolle140
6.1 Ein leidiges Thema – Fehler140
6.1.1 Welche Fehler gibt es?141
6.2 Vorbeugen statt heilen143
6.2.1 Planung und Vorbereitung143
6.2.2 IDEs und Tools nutzen144
6.2.3 Kopieren statt tippen144
6.2.4 Einhalten von Konventionen144
6.2.5 Saubere Formatierungen145
6.2.6 Das KISS-Prinzip145
6.2.7 Kommentare und Dokumentation146
6.2.8 Kodierungstechniken147
6.3 Fehler suchen147
6.3.1 Fehler ohne Debugger finden147
6.3.2 Fehlersuche mit einem Debugger149
6.3.3 Fehler beheben153
6.3.4 Fehler zur Laufzeit abfangen154
6.4 Erweiterte Techniken154
6.4.1 Automatische Dokumentation des Quelltextes und ­Dokumentationskommentare155
6.4.2 Automatische Kontrolle und Qualitätssicherung mit JSLint159
7 Objekte und JavaScript162
7.1 Was sind Objekte?162
7.1.1 Wie werden Methoden und Eigenschaften in JavaScript verwendet?163
7.1.2 Klassen, Instanzen, Prototypen und Vererbung163
7.2 In JavaScript Objekte erzeugen165
7.2.1 Konstruktoren165
7.2.2 Test auf die Existenz eines Objekts168
7.3 Klassenmethoden und Klassen­eigenschaften verwenden168
7.4 Native Objekte und Klassen in JavaScript169
7.4.1 Das globale Objekt170
7.4.2 Nutzen von Klassenelementen aus Math170
7.4.3 Instanzen und Klassenelemente von Number172
7.4.4 Arrays als Objekte174
7.4.5 Objekte vom Typ Boolean176
7.4.6 Datumsoperationen mit Date176
7.4.7 String-Operationen185
7.4.8 Objekte vom Typ Function187
7.4.9 Native Bildobjekte188
7.4.10 Reguläre Ausdrücke188
8 Der DOM – das Mysterium der JavaScript-Welt204
8.1 Was ist das DOM-Konzept?204
8.2 Grundsätzliches zum Weg durch den DOM205
8.2.1 Knoten und Verwandtschaftsbeziehungen205
8.2.2 Wichtige Knotentypen bei Webseiten206
8.2.3 Objekthierarchien im DOM206
8.3 Eine Übersicht der verfügbaren DOM-Objekte207
8.4 Das Konzept der Objektfelder208
8.5 Generelle Zugriffsmöglichkeiten auf DOM-Objekte209
8.5.1 Der Zugriff über einen Namen – getElementsByName()210
8.5.2 Zugriff über eine ID – getElementById()211
8.5.3 Zugriff über den Elementnamen – getElementsByTagName()213
8.5.4 Zugriff über die Klasse213
8.5.5 Der kurze Dienstweg – this214
8.5.6 Die with()-Anweisung214
8.6 Zugriff auf Inhalte von Elementen in der Webseite215
8.6.1 Zugriff auf Textinhalte216
8.6.2 Zugriff auf Formularinhalte216
8.6.3 Zugriff auf klassische HTML-Attribute217
8.7 Das Objekt document219
8.7.1 Die Eigenschaften von document219
8.7.2 Die Methoden von document224
8.8 Das node-Objekt229
8.8.1 Knotenarten230
8.8.2 Die Eigenschaften eines node-Objekts231
8.8.3 Die Methoden eines node-Objekts235
8.9 Fenstertechniken238
8.9.1 Die Eigenschaften des window-Objekts239
8.9.2 Die Methoden von window241
8.9.3 Anwendungen mit Fenstern243
8.10 Frames, IFrames und das Objektfeld frames258
8.10.1 Daten aus IFrames laden – ein unsichtbarer Datenspeicher259
8.10.2 Daten in einem IFrame speichern263
8.11 Browserauswertung und das Objekt navigator264
8.11.1 Auflistung aller Eigenschaften von navigator265
8.11.2 Eigenschaften und Methoden266
8.11.3 Die Browserkennung266
8.12 Zugriff auf Bildschirminformationen eines Besuchers269
8.13 Ein Beispiel für die rekursive Auflistung aller Knoten einer Webseite270
8.14 DHTML und Animationen272
8.14.1 DHTML und Animation mit reinem JavaScript273
8.14.2 DHTML und Animation mit reinem CSS273
8.14.3 Verbinden von JavaScript und Style Sheets274
8.14.4 Verändern des Inhalts der Webseite276
8.14.5 Eine Animation mit style276
9 Ausnahmebehandlung, Ereignisbehandlung und das Ereignisobjekt280
9.1 Eventhandler in JavaScript280
9.1.1 (X)HTML- versus JavaScript-Eventhandler281
9.2 Verschiedene Ereignisse282
9.2.1 Laden und Verlassen der Webseite282
9.2.2 Mausereignisse283
9.2.3 Tastaturereignisse283
9.2.4 Formularereignisse283
9.2.5 Weitere Ereignisse283
9.3 Grundlagen zu Ereignisobjekten284
9.3.1 Blubbern und die Bubble-Phase284
9.3.2 Das Ereignisobjekt verwenden285
9.4 Ausnahmebehandlung291
9.4.1 Was ist eine Ausnahme?292
9.4.2 Wozu ein Ausnahmekonzept?293
9.4.3 Das Auffangen einer Ausnahme295
9.4.4 Selbstdefinierte Ausnahmen erzeugen und verwenden298
9.5 Universelle Ereignisbehandlung mit Ausnahmebehandlung300
9.6 Globale Ereignisbehandlung302
9.6.1 Eine universelle Funktion zur Registrierung eines Listeners303
10 AJAX und das Web 2.0306
10.1 Die Beziehung zwischen Webserver und Browser307
10.1.1 Der grundsätzliche Ablauf einer Kommunikation zwischen Herr und Diener – HTTP307
10.1.2 Die HTTP-Details und die HTTP-Header308
10.1.3 Die Methoden der Datenübertragung per HTTP310
10.1.4 Die URL-Kodierung311
10.2 Das Datenformat312
10.2.1 Klartextdatenformate312
10.2.2 Vollständige HTML- und XHTML-Dateien313
10.2.3 HTML-Fragmente313
10.2.4 Reiner Klartext313
10.2.5 Klartext mit Struktur und beliebiger Logik314
10.3 Was ist AJAX und was bezeichnet Web 2.0?314
10.3.1 AJAX als technische Basis des Web 2.0314
10.4 Der grundsätzliche Ablauf einer AJAX-Anfrage und das XMLHttpRequest-Objekt (XHR)316
10.4.1 Der grundsätzliche Ablauf316
10.4.2 Ein XMLHttpRequest-Objekt erzeugen317
10.5 Die Anforderung von Daten319
10.5.1 Die Methoden eines XHR-Objekts319
10.5.2 Die Eigenschaften eines XMLHttpRequest-Objekts321
10.6 Verschiedene Datentypen vom Server per AJAX nachfordern322
10.6.1 Eine reine Textdatei mit AJAX nachfordern323
10.6.2 Übergabe von Werten an den Webserver328
10.6.3 Nachfordern von XML-Daten329
10.6.4 JSON-Daten anfordern und verarbeiten333
11 Erweiterte Tools, Hintergründe & Techniken336
11.1 Optimierung von JavaScripts336
11.1.1 Interpreterprinzip = langsam – JIT = schnell338
11.1.2 Rezepte338
11.2 Sicherheitsfragen341
11.2.1 Welche Sicherheitslücken hat JavaScript?341
11.2.2 Wie kann man seine Skripte schützen?344
11.3 JsUnit-Testing346
11.3.1 Download des JsUnit-Frameworks, Dokumentation und Tutorial346
11.3.2 Wie arbeitet man grundsätzlich bei testgetriebener Entwicklung mit xUnit?346
11.3.3 Ergebnis und Aufbau eines xUnit-Tests348
11.3.4 Ein praktisches Beispiel349
11.3.5 Pro und Contra TDD352
12 Zugriff auf Formulare354
12.1 Das Formularobjekt354
12.1.1 Die Eigenschaften eine Formularobjekts355
12.1.2 Die Methoden355
12.2 Die Elemente in dem Webformular356
12.2.1 Eigenschaften von elements356
12.2.2 Die Methoden von elements357
12.2.3 Das Objektfeld options357
12.3 Zugriff auf ein Webformular per JavaScript358
12.3.1 Zugriff auf den Wert eines Formularelements358
12.4 Verschicken und Zurücksetzen von Formulardaten365
12.4.1 Klassisches Verschicken von Formulardaten365
12.4.2 Verschicken von Formulardaten mit AJAX367
12.5 Plausibilisieren: Formulare368
12.5.1 Abbruch von Aktionen369
12.5.2 Fehlerreaktion370
12.5.3 Ein Beispiel mit Plausibilisierung370
13 Erweiterte Objekttechniken374
13.1 Was zeichnet in JavaScript eine Methode gegenüber einer normalen Funktion aus?374
13.2 Ein einzelnes Objekt erweitern375
13.2.1 Ein Beispiel für die Objekterweiterung375
13.3 Was ist Prototyping?377
13.3.1 Prototyping von Object378
13.3.2 Die Standardklasse Image erweitern380
13.3.3 Date mit Prototyping erweitern380
13.3.4 Und doch nicht ganz ein Klassenelement382
13.4 Erstellen von Konstruktormethoden383
13.4.1 Was zeichnet eine Konstruktormethode aus?384
13.4.2 Vererbung mit Prototyping simulieren388
13.5 Datenkapselung389
13.6 Ausblick auf JavaScript Version 2.0392
13.6.1 Explizite Datentypen und der use strict-Modus393
13.6.2 Klassendefinitionen und mehr395
13.6.3 Namensräume397
13.6.4 Konstanten397
14
398
14.1 Multithreading über Web Workers398
14.1.1 Erzeugen von Web Workers399
14.1.2 Kommunikation mit einem Web Worker400
14.1.3 Einen Worker mit terminate() beenden400
14.1.4 Beispiele zu Web Worker400
14.2 WebSockets und serverseitiges JavaScript mit Node.js407
14.2.1 Push-Service im Web408
14.2.2 Die WebSocket-Spezifikation409
14.2.3 Same-Origin-Policy und das Sprengen der Grenzen409
14.2.4 Ein WebSocket mit JavaScript erzeugen410
14.2.5 Die Serverseite anhand von Node.js411
14.2.6 Ein praktisches Beispiel für einen einfachen WebSocket-Zugriff413
14.3 Daten im Browser speichern mit HTML5 und der Technik des Local Data Storage bzw. Session Data Storage416
14.3.1 Die Objekte localStorage und sessionStorage sowie deren Methoden und Eigenschaft417
14.3.2 Ein Beispiel, um einfache Daten in einem Local Storage abzulegen418
14.3.3 Ein Beispiel zum Speichern von komplexen Informationen419
14.4 Geodating mit HTML5 und mehr423
14.4.1 Hintergründe der Geolokalisierung423
14.4.2 Der Geolokalisierungsdienst von Google426
14.4.3 Die Geolokalisierung mit HTML5431
14.5 Zeichnen mit Canvas, SVG und CSS3434
14.5.1 Canvas434
14.5.2 Umgang mit Scalable Vector Graphics – SVG459
14.5.3 CSS3-Keyframes465
Index468

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

FREIE WERKSTATT

FREIE WERKSTATT

Die Fachzeitschrift FREIE WERKSTATT berichtet seit der ersten Ausgaben 1994 über die Entwicklungen des Independent Aftermarkets (IAM). Hauptzielgruppe sind Inhaberinnen und Inhaber, Kfz-Meisterinnen ...

BMW Magazin

BMW Magazin

Unter dem Motto „DRIVEN" steht das BMW Magazin für Antrieb, Leidenschaft und Energie − und die Haltung, im Leben niemals stehen zu bleiben.Das Kundenmagazin der BMW AG inszeniert die neuesten ...

Burgen und Schlösser

Burgen und Schlösser

aktuelle Berichte zum Thema Burgen, Schlösser, Wehrbauten, Forschungsergebnisse zur Bau- und Kunstgeschichte, Denkmalpflege und Denkmalschutz Seit ihrer Gründung 1899 gibt die Deutsche ...

DER PRAKTIKER

DER PRAKTIKER

Technische Fachzeitschrift aus der Praxis für die Praxis in allen Bereichen des Handwerks und der Industrie. “der praktiker“ ist die Fachzeitschrift für alle Bereiche der fügetechnischen ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...

Eishockey NEWS

Eishockey NEWS

Eishockey NEWS bringt alles über die DEL, die DEL2, die Oberliga sowie die Regionalligen und Informationen über die NHL. Dazu ausführliche Statistiken, Hintergrundberichte, Personalities ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

VideoMarkt

VideoMarkt

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