Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Über den Autor
Titel
Impressum
Inhaltsübersicht
Inhaltsverzeichnis
Widmung
Einleitung
Teil I Die Sprache
1 Werte, Typen und Operatoren
1.1 Werte
1.2 Zahlen
1.3 Strings
1.4 Unäre Operatoren
1.5 Boolesche Werte
1.6 Leere Werte
1.7 Automatische Typumwandlung
1.8 Zusammenfassung
2 Programmstruktur
2.1 Ausdrücke und Anweisungen
2.2 Bindungen
2.3 Namen von Bindungen
2.4 Die Umgebung
2.5 Funktionen
2.6 Die Funktion console.log
2.7 Rückgabewerte
2.8 Ablaufsteuerung
2.9 Bedingte Ausführung
2.10 While- und do-Schleifen
2.11 Einrückungen
2.12 for-Schleifen
2.13 Eine Schleife abbrechen
2.14 Kurzschreibweisen für die Aktualisierung von Bindungen
2.15 Werte mithilfe von switch auswählen
2.16 Groß- und Kleinschreibung
2.17 Kommentare
2.18 Zusammenfassung
2.19 Übungsaufgaben
3 Funktionen
3.1 Funktionen definieren
3.2 Gültigkeitsbereiche von Bindungen
3.3 Funktionen als Werte
3.4 Schreibweise von Deklarationen
3.5 Pfeilfunktionen
3.6 Der Aufrufstack
3.7 Optionale Argumente
3.8 Closures
3.9 Rekursion
3.10 Funktionen einführen
3.11 Seiteneffekte
3.12 Zusammenfassung
3.13 Übungen
4 Datenstrukturen: Objekte und Arrays
4.1 Das Wereichhörnchen
4.2 Datenmengen
4.3 Eigenschaften
4.4 Methoden
4.5 Objekte
4.6 Veränderbarkeit
4.7 Das Tagebuch des Wereichhörnchens
4.8 Korrelationen berechnen
4.9 Array-Schleifen
4.10 Die endgültige Analyse
4.11 Arrayologie für Fortgeschrittene
4.12 Eigenschaften von Strings
4.13 Restparameter
4.14 Das Objekt Math
4.15 Zerlegung
4.16 JSON
4.17 Zusammenfassung
4.18 Übungen
5 Funktionen höherer Ordnung
5.1 Abstraktion
5.2 Wiederholungen abstrahieren
5.3 Funktionen höherer Ordnung
5.4 Die Schriftbeispieldaten
5.5 Arrays filtern
5.6 Transformationen mit map
5.7 Zusammenfassungen mit reduce
5.8 Komponierbarkeit
5.9 Strings und Zeichencodes
5.10 Text erkennen
5.11 Zusammenfassung
5.12 Übungen
6 Das geheime Leben der Objekte
6.1 Kapselung
6.2 Methoden
6.3 Prototypen
6.4 Klassen
6.5 Klassenschreibweise
6.6 Abgeleitete Eigenschaften überschreiben
6.7 Maps
6.8 Polymorphismus
6.9 Symbole
6.10 Die Iteratorschnittstelle
6.11 Get-, Set- und statische Methoden
6.12 Vererbung
6.13 Der Operator instanceof
6.14 Zusammenfassung
6.15 Übungen
7 Projekt: Ein Roboter
7.1 Meadowfield
7.2 Die Aufgabe
7.3 Persistente Daten
7.4 Simulation
7.5 Die Route des Postautos
7.6 Routen finden
7.7 Übungen
8 Bugs und Fehler
8.1 Die Rolle der Sprache
8.2 Strikter Modus
8.3 Typen
8.4 Tests
8.5 Debugging
8.6 Fehlerweiterleitung
8.7 Ausnahmen
8.8 Aufräumen nach Ausnahmen
8.9 Selektives Abfangen von Ausnahmen
8.10 Assertions
8.11 Zusammenfassung
8.12 Übungen
9 Reguläre Ausdrücke
9.1 Reguläre Ausdrücke erstellen
9.2 Auf Übereinstimmungen prüfen
9.3 Mengen von Zeichen
9.4 Teile eines Musters wiederholen
9.5 Teilausdrücke gruppieren
9.6 Übereinstimmungen und Gruppen
9.7 Die Klasse Date
9.8 Wort- und String-Grenzen
9.9 Alternative Muster
9.10 Der Vergleichsmechanismus
9.11 Rückverfolgung
9.12 Die Methode replace
9.13 Gierige Operatoren
9.14 RegExp-Objekte dynamisch erstellen
9.15 Die Methode search
9.16 Die Eigenschaft lastIndex
9.17 Eine INI-Datei analysieren
9.18 Internationale Zeichen
9.19 Zusammenfassung
9.20 Übungen
10 Module
10.1 Module als Bausteine
10.2 Pakete
10.3 Module
10.4 Daten als Code auswerten
10.5 CommonJS
10.6 ECMAScript-Module
10.7 Compiler, Bundler und Minifier
10.8 Moduldesign
10.9 Zusammenfassung
10.10 Übungen
11 Asynchrone Programmierung
11.1 Asynchronität
11.2 Crow Tech
11.3 Callbacks
11.4 Promises
11.5 Fehlschläge
11.6 Netzwerke sind schwierig
11.7 Kombinationen von Promises
11.8 Flooding
11.9 Nachrichtenrouting
11.10 Async-Funktionen
11.11 Generatoren
11.12 Die Ereignisschleife
11.13 Asynchronitätsbugs
11.14 Zusammenfassung
11.15 Übungen
12 Projekt: Eine Programmiersprache
12.1 Der Parser
12.2 Der Evaluierer
12.3 Sonderformen
12.4 Die Umgebung
12.5 Funktionen
12.6 Kompilierung
12.7 Schummeln
12.8 Übungen
Teil II Der Browser
13 JavaScript im Browser
13.1 Netzwerke und das Internet
13.2 Das Web
13.3 HTML
13.4 HTML und JavaScript
13.5 Ausführung in einer Sandbox
13.6 Die Browserkriege und das Problem der Kompatibilität
14 DOM (Document Object Model)
14.1 Die Dokumentstruktur
14.2 Bäume
14.3 Der Standard
14.4 Den Baum durchlaufen
14.5 Elemente finden
14.6 Das Dokument ändern
14.7 Knoten erstellen
14.8 Attribute
14.9 Layout
14.10 Formatierung
14.11 CSS
14.12 Abfrageselektoren
14.13 Positionierung und Animation
14.14 Zusammenfassung
14.15 Übungen
15 Umgang mit Ereignissen
15.1 Ereignis-Handler
15.2 Ereignisse und DOM-Knoten
15.3 Ereignisobjekte
15.4 Weiterleitung
15.5 Standardaktionen
15.6 Tastaturereignisse
15.7 Zeigeereignisse
15.8 Scrollereignisse
15.9 Fokusereignisse
15.10 Ladeereignisse
15.11 Ereignisse und die Ereignisschleife
15.12 Timer
15.13 Entprellen
15.14 Zusammenfassung
15.15 Übungen
16 Projekt: Ein Jump’n’Run-Spiel
16.1 Das Spiel
16.2 Die Technologie
16.3 Levels
16.4 Ein Level lesen
16.5 Akteure
16.6 Kapselung als zusätzliche Belastung
16.7 Zeichnen
16.8 Bewegungen und Kollisionen
16.9 Akteure aktualisieren
16.10 Tastenbetätigungen verfolgen
16.11 Das Spiel ausführen
16.12 Übungen
17 Zeichnen auf Leinwand
17.1 SVG
17.2 Das Canvas-Element
17.3 Linien und Flächen
17.4 Pfade
17.5 Kurven
17.6 Ein Tortendiagramm zeichnen
17.7 Text
17.8 Bilder
17.9 Transformationen
17.10 Transformationen speichern und löschen
17.11 Zurück zu unserem Spiel
17.12 Auswahl einer Grafikschnittstelle
17.13 Zusammenfassung
17.14 Übungen
18 HTTP und Formulare
18.1 Das Protokoll
18.2 Browser und HTTP
18.3 Fetch
18.4 HTTP-Sandboxing
18.5 Die Möglichkeiten von HTTP nutzen
18.6 Sicherheit durch HTTPS
18.7 Formularfelder
18.8 Fokus
18.9 Deaktivierte Felder
18.10 Das Formular als Ganzes
18.11 Textfelder
18.12 Kontrollkästchen und Optionsschalter
18.13 Auswahlfelder
18.14 Dateifelder
18.15 Clientseitige Datenspeicherung
18.16 Zusammenfassung
18.17 Übungen
19 Projekt: Editor für Pixelgrafiken
19.1 Komponenten
19.2 Der Status
19.3 Aufbau des DOM
19.4 Die Leinwand
19.5 Die Anwendung
19.6 Zeichenwerkzeuge
19.7 Speichern und Laden
19.8 Der Undo-Verlauf
19.9 Die Anwendung einrichten
19.10 Warum ist das so schwer?
19.11 Übungen
Teil III Node.js
20 Einführung in Node.js
20.1 Hintergrund
20.2 Der Befehl node
20.3 Module
20.4 Installation mit NPM
20.5 Das Dateisystemmodul
20.6 Das HTTP-Modul
20.7 Streams
20.8 Ein Dateiserver
20.9 Zusammenfassung
20.10 Übungen
21 Projekt: Eine Website zur Wissensvermittlung
21.1 Design
21.2 Long Polling
21.3 Die HTTP-Schnittstelle
21.4 Der Server
21.5 Der Client
21.6 Übungen
22 Leistung
22.1 Stufenweise Kompilierung
22.2 Graphzeichnen
22.3 Definition eines Graphen
22.4 Kräftebasiertes Graphzeichnen
22.5 Arbeit vermeiden
22.6 Profiling
22.7 Inline-Ersetzung
22.8 Weniger überflüssige Objekte erzeugen
22.9 Garbage Collection
22.10 Dynamische Typen
22.11 Zusammenfassung
22.12 Übungen
Hinweise zu den Übungen
Stichwortverzeichnis
← Prev
Back
Next →
← Prev
Back
Next →