JavaScript

Grundlagen, Programmierung, Praxis

(Autor)

Buch | Hardcover
542 Seiten
2014 | 11. Auflage
Galileo Press (Verlag)
978-3-8362-1979-2 (ISBN)

Lese- und Medienproben

JavaScript - Christian Wenz
39,90 inkl. MwSt
  • Titel ist leider vergriffen, Neuauflage unbestimmt
  • Artikel merken
Das umfassende Handbuch, inkl. HTML5, JavaScript-Frameworks, jQuery, OOP.
  • Für Einsteiger, Fortgeschrittene und Profis
  • Browserübergreifende Lösungen
  • DOM, CSS, Ajax, XML, WebSockets
Alle wichtigen Webtechnologien greifen auf HTML5, CSS3 und eben JavaScript zurück.

Und auch wenn Sie JavaScript-Frameworks wie jQuery einsetzen, müssen JavaScript-Grundlagen beherrschen.

Neben einer umfassenden Einführung erhalten Sie mit diesem Buch alles, was Sie für einen sicheren Umgang mit modernen Webtechnologien und modernem JavaScript benötigen: HTML5, Canvas, Geolocation, Local Storage, WebSockets u.v.m.

Ein umfassender Einstieg in JavaScript und viele praktische Beispiele, das zeichnet dieses Handbuch aus!

So lernen Sie JavaScript von Grund auf.
Lernen Sie JavaScript von Grund auf!

Wenn Sie moderne, interaktive Webanwendungen entwickeln möchten, kommen Sie um den Einsatz von JavaScript nicht herum. Unser JavaScript-Bestseller gibt Ihnen dafür alles an die Hand: Neben einer gründlichen Einführung in die Scriptsprache finden Sie zahlreiche praktische Beispiele, die Sie für eigene Projekte nutzen können.

Inkl. Ajax und HTML5

Einsteigen, programmieren, nachschlagen
Christian Wenz ermöglicht Ihnen den leichten Start in die JavaScript-Programmierung: vom ersten Einbau des Codes in Ihre Website bis zur kompletten Spracheinführung. Ob Fenster, Formulare oder Cookies, Sie finden zu jedem JavaScript-Thema ausführliche Erklärungen.
Browserübergreifende Lösungen
Kompatibilität ist in Zeiten von Firefox, Internet Explorer, Google Chrome und Co. immens wichtig. Hier erfahren Sie, wie Ihr JavaScript-Code von möglichst vielen Webbrowsern unterstützt wird. Hilfreiche Tipps und Tricks erleichtern Ihren Programmieralltag.
Beeindruckende Anwendungen mit Ajax und HTML5
Lernen Sie alle wichtigen Techniken kennen, um spannende Webanwendungen zu erstellen: DOM, Ajax, HTML5, CSS, XML und Web-Sockets. Nutzen Sie die Möglichkeiten der JavaScript-Bibliothek jQuery. Ihr Vorteil? Alle Code-Beispiele lassen sich für Ihre Projekte nutzen.

Themen sind insbesondere:
  • Spracheinführung JavaScript
  • Event-Handling
  • DOM
  • OOP
  • Fehlersuche und -handling
  • Formulare
  • Grafiken
  • Ajax
  • CSS
  • XML
  • jQuery
  • Cookies
  • Audio, Video
  • Canvas
  • Geolocation
  • Local Storage
  • WebSockets

Christian Wenz ist Autor, Trainer und Berater für Web-Technologien. Er hat bereits zahlreiche Bücher zu Web-Themen veröffentlicht, ist regelmäßig als Autor für diverse Fachmagazine tätig und ist aktiv auf seinem Blog unter http://www.hauser-wenz.de/blog/. Als Teilhaber der Web-Agentur Arrabiata Solutions GmbH realisiert er Web- und Intranetprojekte, führt Sicherheitsprüfungen durch und entwickelt Ajax-Anwendungen. Christian Wenz ist Webentwickler der ersten Stunde und in allen Web-Themen zu Hause.

1 ... Einleitung ... 17
1.1 ... Die Geschichte von JavaScript ... 19
1.2 ... Voraussetzungen ... 20
1.3 ... Zur 11. Auflage ... 22
1.4 ... Die Icons in diesem Buch ... 23
TEIL I ... Grundlagen ... 25
2 ... Webbrowser ... 27
2.1 ... Gescheiterter Pionier: Netscape Navigator ... 27
2.2 ... Neubeginn: von Netscape zu Firefox ... 29
2.3 ... Microsoft Internet Explorer ... 31
2.4 ... Apple Safari ... 33
2.5 ... Google Chrome ... 34
2.6 ... Opera ... 35
2.7 ... Marktanteile ... 36
2.8 ... Testsystem ... 37
3 ... JavaScript einbauen ... 39
3.1 ... Verwendung von < script > ... 39
3.1.1 ... Browser ohne JavaScript ... 42
3.1.2 ... Externe Dateien ... 43
3.2 ... JavaScript- Links ... 45
3.3 ... Event- Handler ... 47
4 ... Programmieren mit JavaScript ... 49
4.1 ... Variablen ... 49
4.1.1 ... Namensgebung ... 49
4.1.2 ... Numerische Variablen ... 50
4.1.3 ... Zeichenketten ... 50
4.1.4 ... Boolesche Variablen ... 51
4.1.5 ... Variablendeklaration ... 52
4.2 ... Operatoren ... 52
4.2.1 ... Arithmetische Operatoren ... 53
4.2.2 ... Boolesche Operatoren ... 55
4.2.3 ... String- Operatoren ... 57
4.2.4 ... Umwandlung zwischen den Variablentypen ... 58
4.3 ... Kontrollstrukturen: Schleifen ... 59
4.3.1 ... For- Schleifen ... 59
4.3.2 ... Do- while-Schleife ... 61
4.3.3 ... While- Schleife ... 62
4.3.4 ... For-in- Schleife ... 62
4.3.5 ... Schleifensteuerung ... 62
4.4 ... Kontrollstrukturen: Fallunterscheidung ... 63
4.4.1 ... If- Anweisung ... 63
4.4.2 ... Switch- Anweisung ... 67
4.5 ... Datenspeicherung ... 69
4.5.1 ... Die eval()-Funktion ... 69
4.5.2 ... Arrays ... 71
4.6 ... Funktionen ... 72
4.7 ... Objekte ... 76
5 ... JavaScript- Features ... 79
5.1 ... Datum ... 79
5.1.1 ... Tagesdatum ... 80
5.1.2 ... Mit Daten rechnen ... 81
5.1.3 ... Lokales Datumsformat ... 83
5.2 ... Zufall ... 83
5.2.1 ... Zufallszahlen erstellen ... 84
5.2.2 ... Anwendungsbeispiele ... 85
5.3 ... Browserinformationen ... 88
5.3.1 ... Browsererkennung ... 89
5.3.2 ... Weiterleitung ... 94
TEIL II ... Fortgeschrittene Techniken ... 97
6 ... Ereignisbehandlung ... 99
6.1 ... Ereignisse für (fast) alle Browser à la W3C (und ein wenig Netscape) ... 99
6.1.1 ... Ereignisse ... 100
6.1.2 ... Ereignisse als Objekteigenschaften ... 101
6.1.3 ... Event- Listener ... 103
6.1.4 ... Standard-Verhalten verhindern ... 105
6.1.5 ... Event- Bubbling ... 106
6.1.6 ... Tastatureingaben ... 107
6.2 ... Events à la Internet Explorer ... 108
6.2.1 ... Ereignisse als Objekteigenschaften ... 108
6.2.2 ... Spezielle Skripte ... 108
6.2.3 ... Event- Listener ... 109
6.2.4 ... Standardverhalten verhindern ... 110
6.2.5 ... Event- Bubbling ... 111
6.2.6 ... Das Event-Objekt ... 112
6.3 ... Events mit beiden Browsern ... 114
6.3.1 ... Browserunabhängigkeit ... 114
6.3.2 ... Benutzereingaben ... 115
7 ... DOM ... 121
7.1 ... Der DOM- Baum ... 122
7.2 ... Navigation im Baum ... 123
7.3 ... Den Baum modifizieren ... 125
7.3.1 ... Wichtige Methoden ... 125
7.3.2 ... Zugriff auf einzelne Elemente ... 126
7.3.3 ... Zugriff auf Tags ... 130
7.3.4 ... Beispiele ... 131
8 ... Objekte ... 137
8.1 ... Array- Erweiterungen ... 138
8.1.1 ... Einfügen, nicht anfügen ... 138
8.1.2 ... Anfügen und löschen ... 139
8.1.3 ... Array- Elemente mischen ... 140
8.1.4 ... Sortieren ... 140
8.2 ... Eigene Objekte ... 144
8.2.1 ... Allgemeines ... 144
8.2.2 ... Methoden definieren ... 145
8.2.3 ... Eigene Sortiermethode, Teil 1 ... 146
8.2.4 ... Eigene Sortiermethode, Teil 2 ... 148
8.2.5 ... Zusammenfassung ... 149
8.2.6 ... Platzsparende Notation ... 153
8.3 ... JavaScript- Objekte erweitern ... 154
8.4 ... OOP-Muster mit JavaScript ... 156
8.4.1 ... Private Eigenschaften ... 156
8.4.2 ... Konstruktoreinsatz erzwingen ... 157
9 ... Fehlerbehandlung ... 159
9.1 ... Fehler abfangen ... 160
9.1.1 ... Keine Fehlermeldung ... 160
9.1.2 ... Besondere Fehlermeldung ... 160
9.2 ... Fehler verwalten ... 161
9.3 ... JavaScript- Debugger ... 164
9.3.1 ... Wo ist der Fehler? ... 167
9.3.2 ... Breakpoints ... 169
9.3.3 ... Watches ... 170
9.3.4 ... Schrittweise Programmausführung ... 170
TEIL III ... Praxis ... 173
10 ... Fenster ... 175
10.1 ... Modale Fenster ... 175
10.1.1 ... Warnung – nur im Notfall ... 176
10.1.2 ... Bestätigungen ... 178
10.1.3 ... Benutzereingaben ... 179
10.2 ... Navigationsleiste mit JavaScript ... 181
10.2.1 ... Das History-Objekt ... 181
10.2.2 ... Vorwärts und rückwärts, Teil 2 ... 182
10.2.3 ... Drucken mit JavaScript ... 183
10.3 ... Die Statuszeile ... 184
10.3.1 ... Erläuternde Links ... 184
10.3.2 ... Laufschrift ... 185
10.4 ... Das location-Objekt ... 190
10.5 ... Ein neues Fenster öffnen ... 191
10.5.1 ... Ein Fenster öffnen und füllen ... 192
10.5.2 ... Ein Fenster öffnen und verlinken ... 193
10.5.3 ... Ein Fenster öffnen und anpassen ... 194
10.5.4 ... Modale Fenster ... 200
10.6 ... Fernsteuerung ... 201
10.6.1 ... Links mit JavaScript ... 202
10.6.2 ... Links ohne JavaScript ... 204
10.7 ... Fenster schließen ... 205
10.7.1 ... Andere Fenster schließen ... 205
10.8 ... Fenster bewegen mit JavaScript ... 207
10.8.1 ... Fenster verschieben ... 207
10.8.2 ... Fensterinhalt scrollen ... 208
10.9 ... Anwendungsbeispiel: Fensteroptionen ... 208
11 ... Formulare ... 217
11.1 ... Überprüfung auf Vollständigkeit ... 217
11.1.1 ... Allgemeiner Aufbau ... 220
11.1.2 ... Texteingabefelder ... 221
11.1.3 ... Radiobuttons ... 221
11.1.4 ... Checkboxen ... 222
11.1.5 ... Auswahllisten ... 222
11.1.6 ... Fehlermeldung ausgeben ... 224
11.1.7 ... Konstruktive Vorschläge ... 225
11.2 ... Automatische Überprüfung ... 227
11.2.1 ... Texteingabefelder ... 228
11.2.2 ... Radiobuttons ... 228
11.2.3 ... Checkboxen ... 229
11.2.4 ... Auswahllisten ... 230
11.2.5 ... Zusammenfassung ... 230
11.3 ... Anwendungsmöglichkeiten für Formulare ... 232
11.3.1 ... Währungsrechner ... 232
11.3.2 ... Währungsrechner, Teil 2 ... 234
11.3.3 ... Formularfelder für die Textausgabe nutzen ... 235
11.3.4 ... Navigation mit Auswahllisten ... 236
11.4 ... Daten behalten ... 238
11.4.1 ... Das Eingabeformular ... 238
11.4.2 ... Die Ausgabeseite ... 239
11.5 ... Dynamische Auswahllisten ... 243
11.5.1 ... Ein erster Ansatz ... 243
11.5.2 ... Ein fortgeschrittener Ansatz ... 245
11.6 ... Überprüfungsfunktionen ... 245
11.6.1 ... Ganze Zahlenwerte ... 246
11.6.2 ... Dezimalzahlen ... 247
11.6.3 ... Telefonnummern ... 249
11.6.4 ... E- Mail-Adressen ... 249
11.6.5 ... In Zahlenwerte umwandeln ... 250
11.7 ... Reguläre Ausdrücke ... 251
11.7.1 ... Kurzeinführung ... 251
11.7.2 ... Ein Objekt erzeugen ... 253
11.7.3 ... Mit dem Objekt arbeiten ... 254
12 ... Grafiken ... 261
12.1 ... Bildlein wechsle dich ... 261
12.1.1 ... Zugriff auf Grafiken ... 262
12.2 ... Animierte JPEGs ... 263
12.2.1 ... Eine Animation mit JavaScript ... 264
12.2.2 ... Bilder in den Cache laden ... 265
12.3 ... Animierte Navigation ... 268
12.3.1 ... Vorüberlegungen ... 270
12.3.2 ... Auf- und Zuklappen ... 271
12.3.3 ... Die einzelnen Menüpunkte ... 271
12.3.4 ... Verlinkung der Menüpunkte ... 273
12.3.5 ... Einbau in die HTML-Datei ... 273
12.4 ... Erweiterung der Navigation ... 273
12.4.1 ... Vorbereitungen ... 274
12.4.2 ... Leichte Änderungen ... 274
12.4.3 ... Doppeltes Mouseover ... 275
12.5 ... Tipps aus der Praxis ... 276
12.5.1 ... Vorladen – aber richtig ... 276
12.5.2 ... Ladestand einer Grafik ... 277
12.5.3 ... Fortschrittsanzeige ... 280
TEIL IV ... Ajax & Co. ... 287
13 ... Ajax ... 289
13.1 ... Ajax- Beispiele ... 290
13.2 ... Ajax- Technik ... 292
13.2.1 ... HTTP- Anfragen senden und auswerten ... 293
13.2.2 ... Parameter senden ... 296
13.2.3 ... Mit komplexen Daten arbeiten – JSON ... 299
13.2.4 ... Anfragen abbrechen ... 301
13.2.5 ... Weitere Möglichkeiten ... 304
13.3 ... Serverseitige Technologien ohne Ajax ... 305
13.3.1 ... Variablentausch ... 305
13.3.2 ... Newsticker ... 308
13.3.3 ... Geschäftskennzeichen ... 311
14 ... CSS ... 315
14.1 ... Cascading Style Sheets ... 315
14.2 ... HTML- Elemente ... 319
14.3 ... Beispiele ... 321
14.3.1 ... Animiertes Logo ... 321
14.3.2 ... Sichtbar und unsichtbar ... 325
14.3.3 ... Neuer Mauszeiger ... 330
14.3.4 ... Permanentes Werbebanner ... 333
15 ... XML & Co. ... 339
15.1 ... XML ... 339
15.1.1 ... XML- Daten verarbeiten ... 339
15.1.2 ... XML- Dokumente erstellen ... 344
15.2 ... XSL ... 346
15.3 ... XPath ... 350
16 ... Cookies ... 355
16.1 ... Was ist ein Cookie? ... 355
16.2 ... Wie sieht ein Cookie aus? ... 356
16.3 ... Cookies mit JavaScript ... 358
16.3.1 ... Cookies setzen ... 359
16.3.2 ... Cookies löschen ... 359
16.3.3 ... Cookies lesen ... 360
16.3.4 ... Cookie-Unterstützung überprüfen ... 361
16.3.5 ... Ein Cookie statt vieler Cookies ... 363
17 ... jQuery ... 371
17.1 ... jQuery- Grundlagen ... 372
17.1.1 ... Elementzugriff ... 373
17.1.2 ... CSS ... 375
17.1.3 ... Ereignisbehandlung und Ajax ... 377
17.2 ... Weitere Bibliotheken ... 380
TEIL V ... HTML5 ... 381
18 ... HTML5- Grundlagen ... 383
18.1 ... Geschichte ... 383
18.2 ... Kompatibilität mit dem Internet Explorer ... 386
18.3 ... Formularvalidierung ... 391
19 ... Audio und Video ... 397
19.1 ... Audio einbinden ... 398
19.2 ... Video einbinden ... 403
19.3 ... Codecs ... 404
20 ... Canvas ... 407
20.1 ... Zeichenkontext ... 407
20.2 ... Zeichnen ... 408
20.3 ... Kompatibilität ... 411
21 ... Geolocation ... 413
21.1 ... Die Geolocation-API ... 413
21.1.1 ... Position ermitteln ... 414
21.1.2 ... Fehler bei der Ermittlung ... 417
21.1.3 ... Optionen für die Ermittlung ... 418
21.1.4 ... Die Position überwachen ... 418
21.2 ... Technik im Hintergrund ... 419
22 ... Offline ... 421
22.1 ... Offline oder nicht? ... 421
22.2 ... DOM Storage und Web Storage ... 423
22.2.1 ... Die API ... 424
22.2.2 ... Beispiel ... 424
22.2.3 ... Ereignisse ... 428
22.2.4 ... Kompatibilität mit alten Browsern ... 429
22.3 ... Application Cache ... 431
22.3.1 ... Manifest ... 431
22.3.2 ... Ereignisse und Methoden ... 435
23 ... Web Worker ... 437
23.1 ... Einen Worker erstellen ... 439
23.2 ... Mit dem Worker kommunizieren ... 440
23.3 ... Worker beenden ... 442
23.4 ... Ausblick auf Shared Worker ... 443
24 ... WebSockets ... 445
24.1 ... Mit WebSockets arbeiten ... 445
24.2 ... Alternativen ... 452
24.2.1 ... CORS ... 452
24.2.2 ... Server-sent Events ... 452
24.2.3 ... Bibliotheken ... 452
25 ... Drag & Drop (und andere APIs) ... 455
25.1 ... Drag & Drop ... 455
25.2 ... File API ... 460
25.3 ... Weitere APIs ... 463
TEIL VI ... Über den Tellerrand ... 465
26 ... Plug-ins ... 467
26.1 ... Plug-ins erkennen ... 467
26.1.1 ... Zugriff auf Plug-ins ... 468
26.1.2 ... Zugriff auf MIME-Typen ... 469
26.1.3 ... Refresh ... 470
26.2 ... Zugriff auf Java ... 471
26.2.1 ... Wie funktioniert Java? ... 471
26.2.2 ... Kurzeinführung in Java ... 472
26.2.3 ... Java und das Web ... 474
26.2.4 ... HTML- Integration ... 475
27 ... JavaScript und Sicherheit ... 479
27.1 ... XSS ... 479
27.2 ... XSS und Ajax ... 483
27.3 ... Code schützen ... 484
27.3.1 ... Quellcode einsehen ... 485
27.3.2 ... Code im Frame verstecken ... 489
27.3.3 ... Mausklick verhindern ... 491
27.3.4 ... Code codieren ... 493
27.3.5 ... Dateien auslagern ... 498
27.3.6 ... Caching verhindern ... 499
27.3.7 ... Code serverseitig generieren ... 500
28 ... Best Practices für Ajax-Anwendungen ... 505
28.1 ... Bookmarks ... 506
28.2 ... Zurück- Schaltfläche ... 511
28.3 ... Weitere Best Practices ... 517
29 ... JavaScript- Performance ... 519
29.1 ... Performanterer Code ... 520
29.2 ... Weniger Daten ... 523
29.3 ... Tools ... 524
30 ... Die Zukunft von JavaScript ... 527
30.1 ... JavaScript 1.6 ... 527
30.2 ... JavaScript 1.7 ... 530
30.3 ... JavaScript 1.8 ... 531
30.4 ... Die Zukunft ... 531
... Index ... 533

»Der Leser erhält ein breit gefächertes Werk zu JavaScript« (dotnetpro zur Vorauflage)

»Prägnant geschrieben, anwendungsnah erklärt und detailliert in den Ausführungen.« (mediavalley.de zur Vorauflage)

Erscheint lt. Verlag 26.2.2014
Reihe/Serie Galileo Computing
Verlagsort Bonn
Sprache deutsch
Maße 168 x 240 mm
Gewicht 1170 g
Einbandart gebunden
Themenwelt Informatik Web / Internet HTML / CSS
Informatik Web / Internet JavaScript
Schlagworte AJAX • Browser • Browserkompatibilität • CSS3 • Flash • HTML • HTML5 • JavaScript Frameworks • JavaScript; Handbuch/Lehrbuch • jQuery • jQuery Mobile • Responsive Webdesign • Silverlight • Web 2.0 • Webapps • XML
ISBN-10 3-8362-1979-4 / 3836219794
ISBN-13 978-3-8362-1979-2 / 9783836219792
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Das umfassende Handbuch

von Jürgen Wolf

Buch | Hardcover (2023)
Rheinwerk (Verlag)
49,90