1 Einleitung 1
1.1 Ziel dieses Buches 2
1.2 Aufbau dieses Buches 3
1.2.1 ECMAScript 3
1.2.2 JavaScript im Browser 3
1.2.3 Webapplikationen 3
1.2.4 Referenz 4
1.2.5 Beispieldateien 4
1.3 Danksagungen 4
2 Überblick 5
2.1 Das Internet 5
2.2 Das World Wide Web 7
2.2.1 Webbrowser 8
2.2.2 HTML 9
2.2.3 Serverseitige Verarbeitung 10
2.2.4 Clientseitige Verarbeitung 12
2.2.5 Weiterentwicklungen der Markup-Sprachen 13
2.3 JavaScript 13
2.3.1 Entstehungsgeschichte 13
2.3.2 Client-side JavaScript 14
2.3.3 Server-side JavaScript 16
2.3.4 Ajax 16
2.3.5 Andere Einsatzgebiete von JavaScript bzw.
ECMAScript 17
2.3.6 Weiterentwicklung und zusätzliche
Informationen 17
3 Erste Schritte in JavaScript 19
3.1 Erstellung eines HTML-Dokuments mit
JavaScript-Code 20
3.1.1 Die grundlegende HTML-Datei 20
3.1.2 Grundaufbau eines HTML-Dokuments 23
3.1.3 JavaScript-Code einfügen 23
3.1.4 Mehrere JavaScript-Befehle 26
3.1.5 Einfache Berechnungen 27
3.2 Auf Benutzereingaben reagieren 28
3.3 Kommentare 29
3.4 Darstellung mit einem nicht JavaScript-fähigen Browser 30
3.5 js-Bibliotheksdatei 32
3.6 Quellcode anzeigen 33
3.7 Vorbereitungen vor der Veröffentlichung 33
4 Variablen 35
4.1 Variablen einsetzen 35
4.2 Variablen definieren 37
4.3 Ausgangswert einer Variablen 39
4.4 Variablennamen 40
4.5 Berechnungen 41
4.6 Operatoren 43
4.6.1 Rechenoperatoren 43
4.6.2 Inkrement- und Dekrement-Operatoren 43
4.6.3 Zuweisungsoperatoren 44
4.6.4 Der typeof-Operator 45
4.6.5 Bitweise Operatoren 45
5 Verzweigungen 47
5.1 if-Abfragen 47
5.1.1 Vergleichsoperatoren 49
5.1.2 Die else-Anweisung 50
5.1.3 Boolesche Variablen überprüfen 51
5.1.4 Geschachtelte if-Abfragen 52
5.1.5 Der Negationsoperator 52
5.1.6 Boolesche Operatoren 53
5.2 Der Konditional-Operator ?: 54
5.3 switch-Anweisungen 54
Inhaltsverzeichnis ix
6 Schleifen 57
6.1 Die for-Schleife 58
6.1.1 Grundaufbau der for-Schleife 58
6.1.2 Die Schleifenvariable selbst einsetzen 60
6.1.3 Die Schrittweite festlegen 60
6.1.4 Endlosschleifen 61
6.1.5 Sofortiger Abbruch 61
6.2 Die while-Schleife 62
6.3 break 66
6.4 continue 67
6.5 Die do-while-Schleife 67
7 Funktionen 69
7.1 Funktionen definieren und aufrufen 69
7.1.1 Aufbau einer Funktion 69
7.1.2 Eine Funktion aufrufen 70
7.1.3 Eine Funktion als Reaktion auf
Benutzereingaben aufrufen 72
7.2 Übergabewerte 72
7.2.1 Feste Anzahl von Argumenten 72
7.2.2 Funktionsaufrufe mit Variablenübergabe 76
7.2.3 Variable Anzahl von Argumenten 77
7.3 Rückgabewerte 78
7.4 Globale und lokale Variablen 79
7.4.1 Globale Variablen 79
7.4.2 Lokale Variablen 80
7.4.3 let 81
7.4.4 Globale oder lokale Variablen? 82
7.5 Vordefinierte Funktionen 83
7.5.1 parseInt() 83
7.5.2 parseFloat() 84
7.5.3 eval() 85
7.6 Fortgeschrittene Themen im Zusammenhang mit Funktionen 85
7.6.1 Die Function-Klasse 85
7.6.2 Anonyme Funktionen 86
7.6.3 Innere Funktionen 86
7.6.4 Rekursive Funktionen 87
7.6.5 Generatoren 88
7.6.6 Destructuring 88
8 Objekte 91
8.1 Was sind Objekte? 91
8.2 Mit Objekten arbeiten 92
8.2.1 Eine Klasse definieren 92
8.2.2 Ein Objekt erzeugen 93
8.2.3 Auf Eigenschaften und Methoden zugreifen 94
8.2.4 Das Objekt zerstören 95
8.3 Vordefinierte Klassen 96
8.4 Die Date-Klasse 97
8.4.1 Ein Date-Objekt erzeugen 97
8.4.2 Das Datum und die Uhrzeit festlegen 97
8.4.3 Ein Datum ausgeben 98
8.4.4 Zeitdifferenzen berechnen 99
8.4.5 Das Jahr-2000-Problem 100
8.5 Die Math-Klasse 101
8.5.1 Vordefinierte Konstanten 101
8.5.2 Zahlen runden 102
8.5.3 Zufallszahlen 102
8.6 Die String-Klasse 102
8.6.1 charAt() 103
8.6.2 indexOf() 104
8.6.3 lastIndexOf() 105
8.6.4 substring() 105
8.6.5 split() 106
8.6.6 Länge eines Strings 106
8.7 Die Array-Klasse 107
8.7.1 Ein Array erzeugen 107
8.7.2 Auf die Elemente eines Arrays zugreifen 107
8.7.3 Ein Array initialisieren 109
8.7.4 Dynamische Arrays 109
8.7.5 Unterschiedliche Datentypen in Arrays 110
8.7.6 Elemente zu einem String zusammenfügen 111
8.7.7 Die Reihenfolge in einem Array umkehren 111
8.7.8 Array-Inhalte sortieren 112
8.7.9 Verkürzte Schreibweise 114
8.7.10 Erweiterungen seit JavaScript 1.5 114
8.8 Befehle zum Arbeiten mit Objekten 116
8.8.1 Der instanceof-Operator 116
8.8.2 with 117
8.8.3 for..in-Schleife 117
8.9 Fortgeschrittene Themen im Zusammenhang mit Objekten 118
8.9.1 JavaScript als prototypenbasierte Programmiersprache 119
8.9.2 Objekte erweitern 119
8.9.3 Eigene Klassen definieren 120
8.9.4 JavaScript Object Notation 122
8.9.5 Kapselung 123
8.9.6 Vererbung 124
9 Fehlerbehandlung 127
9.1 Fehlermeldungen 127
9.2 Fehlerarten 129
9.2.1 Syntaxfehler 129
9.2.2 Laufzeitfehler 130
9.2.3 Logische Fehler 131
9.3 Debugger 131
9.4 Exception Handling 132
9.5 Das Error-Objekt 133
9.6 Exceptions auslösen 135
10 JavaScript im Browser 137
10.1 Objekte einer Webseite 138
10.1.1 Das Browserfenster 138
10.1.2 Popup-Fenster 139
10.2 Navigation 142
10.2.1 Das location-Objekt 142
10.2.2 Das history-Objekt 143
10.2.3 Browser-Cache 144
10.3 JavaScript-Code im Browserfenster ausführen 144
10.3.1 Verschiedene Skripte gleichzeitig ausführen 145
10.3.2 Timer 145
10.4 Browserversionen überprüfen 147
10.4.1 Das navigator-Objekt abfragen 148
10.4.2 Die JavaScript-Version im
Weitere Titel aus der Reihe iX Edition