O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Die Kunst der JavaScript-Programmierung

Book Description

• Richtig programmieren lernen• Englische Online-Version unter CC-Lizenz"A concise and balanced mix of principles and pragmatics. I loved the tutorial-style game-like program development. This book rekindled my earliest joys of programming. Plus, JavaScript!" (Brendan Eich, creator of JavaScript)

Table of Contents

  1. cover
  2. Titel
  3. Impressum
  4. Hingabe
  5. Inhaltsverzeichnis
  6. Einleitung
    1. Programmierung
    2. Von der Wichtigkeit der Sprache
    3. Was ist JavaScript?
    4. Die Programme ausprobieren
      1. Das Buch im Überblick
    5. Schreibweisen
  7. 1 Grundlagen von JavaScript: Werte, Variablen und Steuerungsfluss
    1. 1.1 Werte
      1. Zahlen
      2. Berechnungen
      3. Strings
      4. Unäre Operatoren
      5. Boolesche Werte, Vergleiche und zweiwertige Logik
      6. Ausdrücke und Anweisungen
    2. 1.2 Variablen
      1. Schlüsselwörter und reservierte Wörter
    3. 1.3 Die Umgebung
      1. Funktionen
      2. prompt und confirm
      3. Die Funktion print
      4. Die Umgebung ändern
    4. 1.4 Die Struktur eines Programms
      1. Bedingte Ausführung
      2. while- und do-Schleifen
      3. Code einrücken
      4. for-Schleifen
      5. Schleifen abbrechen
      6. Variablen kurz und bündig aktualisieren
      7. Verzweigungen mit switch
      8. Groß- und Kleinschreibung
      9. Kommentare
    5. 1.5 Weitere Informationen über Typen
      1. Nicht definierte Werte
      2. Automatische Typumwandlung
      3. Gefahren der automatischen Typumwandlung
      4. Mehr über && und ||
  8. 2 Funktionen
    1. 2.1 Der Aufbau einer Funktionsdefinition
      1. Die Definitionsreihenfolge
      2. Lokale Variablen
      3. Verschachtelter Gültigkeitsbereich
      4. Der Stack
      5. Funktionswerte
      6. Funktionsabschluss (Closure)
      7. Optionale Argumente
    2. 2.2 Techniken
      1. Wiederholungen vermeiden
    3. Reinheit
      1. Rekursion
  9. 3 Datenstrukturen: Objekte und Arrays
    1. 3.1 Die Aufgabe: Tante Emmas Katzen
    2. 3.2 Grundlegende Datenstrukturen
      1. Eigenschaften
      2. Objektwerte
      3. Objekte als Mengen
      4. Veränderbarkeit
      5. Objekte als Sammlungen: Arrays
      6. Methoden
    3. 3.3 Die Katzenaufgabe lösen
      1. Absätze trennen
      2. Die bedeutsamen Absätze finden
      3. Die Namen der Katzen extrahieren
      4. Der vollständige Algorithmus
      5. Den Code bereinigen
      6. Datendarstellung
      7. Datenextraktion
      8. Weitere Informationen erfassen
      9. Datendarstellung
    4. 3.4 Noch etwas Theorie
      1. Das Objekt arguments
      2. Es gibt noch eine Lücke zu schließen
      3. Das Objekt Math
      4. Aufzählbare Eigenschaften
  10. 4 Fehlerbehandlung
    1. 4.1 Mögliche Arten von Problemen
      1. Programmiererfehler
      2. Laufzeitfehler
    2. 4.2 Fehler handhaben
      1. Einen besonderen Wert zurückgeben
      2. Ausnahmen
      3. Aufräumen nach Ausnahmen
      4. Fehlerobjekte
      5. Nicht behandelte Ausnahmen
      6. Selektives Abfangen von Ausnahmen
    3. 4.3 Automatisierte Tests
  11. 5 Funktionale Programmierung
    1. 5.1 Abstraktion
    2. 5.2 Funktionen höherer Ordnung
      1. Funktionen ändern
      2. Die Funktion reduce
      3. Arrays abbilden
    3. 5.3 Die traurige Geschichte des Einsiedlers
      1. HTML
      2. Die Textdatei des Einsiedlers
      3. Absätze finden
      4. Hervorhebungen und Fußnoten
      5. Die Fußnoten verschieben
      6. HTML generieren
      7. Das Buch des Einsiedlers umwandeln
    4. 5.4 Weitere funktionale Tricks
      1. Operatorfunktionen
      2. Partielle Anwendung
      3. Komposition
  12. 6 Objektorientierte Programmierung
    1. 6.1 Objekte
      1. Methoden definieren
      2. Konstruktoren
      3. Prototypen von Objekten
      4. Konstruktoren und Prototypen
      5. Verunreinigung von Prototypen
      6. Objekte als Dictionarys
      7. Eine Schnittstelle festlegen
    2. 6.2 Ein simuliertes Ökosystem erstellen
      1. Das Terrarium definieren
      2. Punkte im Raum
      3. Das Raster darstellen
      4. Die Programmierschnittstelle eines Käfers
      5. Das Terrariumobjekt
      6. Die Variable this und ihr Gültigkeitsbereich
      7. Lebensformen animieren
      8. Jetzt krabbeln sie
      9. Weitere Lebensformen
      10. Polymorphismus
    3. 6.3 Eine lebensechtere Simulation
      1. Vererbung
      2. Die Energiewerte verfolgen
      3. Pflanzen hinzufügen
      4. Pflanzenfresser
      5. Das Terrarium zum Leben erwecken
      6. Künstliche Dummheit
    4. 6.4 Prototypvererbung
      1. Hilfsfunktionen zur Typdefinition
      2. Prototypen als Typen
      3. Eine Welt voller Objekte
      4. Der Operator instanceof
      5. Typen vermischen
  13. 7 Modularität
    1. 7.1 Module
      1. Ein Beispiel
      2. Module als Dateien
    2. 7.2 Die Gestalt von Modulen
      1. Funktionen als lokale Namensräume
      2. Modulobjekte
    3. 7.3 Schnittstellenentwurf
      1. Vorhersagbarkeit
      2. Kombinierbarkeit
      3. Geschichtete Schnittstellen
      4. Argumentobjekte
    4. 7.4 Bibliotheken
  14. 8 Reguläre Ausdrücke
    1. 8.1 Syntax
      1. Übereinstimmungen mit einer Menge von Zeichen
      2. Wort- und Stringgrenzen
      3. Wiederholte Muster
      4. Teilausdrücke gruppieren
      5. Zwischen Alternativen wählen
    2. 8.2 Übereinstimmungen finden und ersetzen
      1. Die Methode match
      2. Reguläre Ausdrücke in der Methode replace
      3. RegExp-Objekte dynamisch erstellen
    3. 8.3 Eine .ini-Datei analysieren
    4. 8.4 Schlusswort
  15. 9 Ein Schnellkurs in Webprogrammierung
    1. 9.1 Das Internet
      1. URLs
      2. Serverseitige Programmierung
      3. Clientseitige Programmierung
    2. 9.2 Grundlegende Skripterstellung für das Web
      1. Das window-Objekt
      2. Das document-Objekt
      3. Timer
      4. Formulare
      5. Formulare mit Skripten erstellen
      6. Automatischer Fokus
    3. 9.3 Browserinkompatibilitäten
    4. 9.4 Literatur
  16. 10 Document Object Model
    1. 10.1 DOM-Elemente
      1. Knotenverbindungen
      2. Knotentypen
      3. Die Eigenschaft innerHTML
      4. Knoten finden
      5. Knoten erstellen
      6. Eine Hilfsfunktion zum Erstellen von Knoten
      7. Knoten verschieben
      8. Eine Implementierung von print
    2. 10.2 Stylesheets
      1. Die Eigenschaft style
      2. Knoten verbergen
      3. Positionierung
      4. Die Knotengröße festlegen
    3. 10.3 Ein Wort zur Vorsicht
  17. 11 Browserereignisse
    1. 11.1 Ereignishandler
      1. Handler registrieren
      2. Ereignisobjekte
      3. Ereignistypen für die Maus
      4. Tastaturereignisse
      5. Ein Ereignis abbrechen
      6. Ereignisobjekte normalisieren
      7. Den Fokus nachverfolgen
      8. Formularereignisse
      9. Fensterereignisse
    2. 11.2 Beispiel: Sokoban
      1. Eingabeformat für Levels
      2. Programmgestaltung
      3. Die Darstellung des Spielbretts
      4. Das Controller-Objekt
  18. 12 HTTP-Anforderungen
    1. 12.1 Das Protokoll HTTP
    2. 12.2 Die API XMLHttpRequest
      1. Ein Anforderungsobjekt erstellen
      2. Einfache Anforderungen
      3. Asynchrone Anforderungen
      4. XML-Daten abrufen
      5. JSON-Daten lesen
      6. Ein einfacher Wrapper für Anforderungen
    3. 12.3 HTTP lernen
  19. Stichwortverzeichnis
  20. Fußnoten
    1. Kapitel 1
    2. Kapitel 8