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

JavaScript-Programmierung von Kopf bis Fuß

Book Description

Etwas Abwechslung gefällig? JavaScript-Programmierung von Kopf bis Fuß ist der fantasievolle Beweis dafür, dass Fachliteratur keineswegs trocken und einschläfernd sein muss. Viele Cartoons, Kreuzworträtsel, Dialoge, humorvolle Beispiele und Übungen sorgen dafür, dass der Leser schnell Zugang zu JavaScript findet und mühelos in fortgeschrittene Regionen der Programmierung vordringt. Dieses Buch erklärt alles, von den JavaScript-Grundlagen bis zu anspruchsvolleren Themen wie Objekte, Funktionen und das Document Object Model. Neben Neugier und Experimentierfreude sollten Sie lediglich Kenntnisse in HTML und CSS mitbringen.

Table of Contents

  1. JavaScriptProgrammierung von Kopf bis Fuß
    1. Die Autoren von JavaScript-Programierung von Kopf bis Fuß
    2. Über den Übersetzer dieses Buchs
    3. Ergänzende Bücher von O’Reilly
    4. Weitere Bücher aus unserer Von-Kopf-bis-Fuß-Reihe
    5. Der Inhalt (in der Übersicht)
    6. Der Inhalt (jetzt ausführlich)
    7. Einführung
      1. Für wen ist dieses Buch?
      2. Wir wissen was Sie gerade denken.
      3. Wir stellen uns unseren Leser als einen aktiv Lernenden vor
      4. Metakognition: Nachdenken übers Denken
      5. Das haben WIR getan
      6. Das können SIE tun, um sich Ihr Gehirn untertan zu machen
      7. Lies mich!
      8. Fachgutachter
      9. Danksagungen
    8. 1 Ein Sprung ins kalte JavaScript-Wasser: Zeit für nasse Füße
      1. Wie JavaScript funktioniert
      2. Wie Sie JavaScript schreiben werden
      3. JavaScript in die Seite einbinden
      4. JavaScript, du hast einen langen Weg hinter dir
      5. Anweisungen definieren
      6. Variablen und Werte
      7. Finger weg von der Tastatur!
      8. Der richtige Ausdruck
      9. Dinge mehr als einmal tun
      10. Wie eine while-Schleife funktioniert
      11. Entscheidungen in JavaScript
      12. Und wenn Sie richtig VIELE Entscheidungen treffen müssen
      13. Sprechen Sie Ihre Benutzer direkt an
      14. Ein näherer Blick auf console.log
      15. Die Konsole öffnen
      16. Die erste richtige JavaScript-Applikation
      17. Wie bekomme ich den Code in meine Seite?
      18. Wir müssen euch trennen (1/2)
      19. Wir müssen euch trennen (2/2)
    9. 2 Richtigen Code schreiben: Die nächsten Schritte
      1. Schiffe versenken: Die Programmierung
      2. Unser erster Versuch
      3. Der allgemeine Spielverlauf
      4. Arbeiten wir uns durch den Pseudocode
      5. Bevor Sie weiter machen sollten Sie den HTML-Code nicht vergessen!
      6. Der Code für die einfache Version von »Schiffe versenken«
      7. Und damit zur Logik des Spiels
      8. Schritt eins: Die Schleife einrichten und Benutzereingaben auslesen
      9. Wie prompt funktioniert
      10. Die Benutzereingabe überprüfen
      11. Und? Haben wir getroffen?
      12. Der Code zum Finden von Treffern
      13. Etwas Spielanalyse für den Benutzer
      14. Und damit ist die Logik vollständig
      15. Ein wenig Qualitätssicherung
      16. Lassen Sie uns über Wortreichtum reden
      17. Das Schiffe-versenken-Spiel fertigstellen
      18. Eine zufällige Position zuweisen
      19. Das weltberühmte Rezept zur Erzeugung von Zufallszahlen
      20. Etwas mehr QA
      21. Herzlichen Glückwunsch zu Ihrem ersten richtigen JavaScript- Programm. Aus diesem Anlass ein paar Worte zum Code-Recycling. (1/2)
      22. Herzlichen Glückwunsch zu Ihrem ersten richtigen JavaScript- Programm. Aus diesem Anlass ein paar Worte zum Code-Recycling. (2/2)
    10. 3 Einführung in Funktionen: Jetzt funkt’s
      1. Was stimmt denn mit dem Code nicht?
      2. Haben wir übrigens schon über FUNKTIONEN gesprochen?
      3. Schön, aber wie funktioniert das überhaupt?
      4. Was kann einer Funktion übergeben werden?
      5. JavaScript verwendet Werteparameter
      6. Seltsame Funktionen
      7. Funktionen können auch Dinge zurück geben
      8. Eine Funktion mit return-Anweisung nachvollziehen
      9. Globale und lokale Variablen
      10. Den Geltungsbereich globaler und lokaler Variablen verstehen
      11. Das kurze Leben der Variablen
      12. Vergessen Sie nicht, alle lokalen Variablen zu deklarieren! (1/5)
      13. Vergessen Sie nicht, alle lokalen Variablen zu deklarieren! (2/5)
      14. Vergessen Sie nicht, alle lokalen Variablen zu deklarieren! (3/5)
      15. Vergessen Sie nicht, alle lokalen Variablen zu deklarieren! (4/5)
      16. Vergessen Sie nicht, alle lokalen Variablen zu deklarieren! (5/5)
    11. 4 Etwas Ordnung in die Daten bringen: Arrays
      1. Können Sie Bubbles-R-Us helfen?
      2. Mehrere Werte in JavaScript darstellen
      3. Wie Arrays funktionieren
      4. Wie groß ist das Array eigentlich?
      5. Der Phras-O-Mat
      6. Inzwischen bei Bubbles-R-Us
      7. Über ein Array iterieren
      8. Moment mal! Es gibt noch eine bessere Methode über ein Array zu iterieren (1/2)
      9. Moment mal! Es gibt noch eine bessere Methode über ein Array zu iterieren (2/2)
      10. Wir müssen mal wieder über Ihren Wortschatz reden
      11. Eine Neufassung der for-Schleife mit dem Postinkrement-Operator
      12. Schnelle Probefahrt
      13. Ein neues Array anlegen (und Elemente hinzufügen)
      14. Und die Gewinner sind
      15. Eine schnelle Codeüberprüfung
      16. Eine printAndGetHighScore-Funktion schreiben
      17. Den Code mit der printAndGetHighScore-Funktion refaktorieren
      18. Alles zusammengenommen (1/3)
      19. Alles zusammengenommen (2/3)
      20. Alles zusammengenommen (3/3)
    12. 5 Objekte verstehen: Ein Ausflug nach Objectville
      1. Hat gerade jemand »Objekte« gesagt?!
      2. Ein paar Gedanken zu Eigenschaften
      3. Objekte anlegen
      4. Was bedeutet eigentlich »objektorientiert«?
      5. Wie Eigenschaften funktionieren
      6. Wie kann eine Variable ein Objekt enthalten?
      7. Primitive Datentypen und Objekte im Vergleich
      8. Noch mehr Dinge mit Objekten
      9. Die Vorauswahl Schritt für Schritt
      10. Noch ein paar Worte zur Übergabe von Objekten an Funktionen (1/2)
      11. Noch ein paar Worte zur Übergabe von Objekten an Funktionen (2/2)
      12. Objekte mit Verhalten versehen
      13. Die drive-Methode verbessern
      14. Warum weiß die drive-Methode nicht von der Eigenschaft started?
      15. Wie this funktioniert (1/2)
      16. Wie this funktioniert (2/2)
      17. Wie Verhalten einen Zustand beeinflussen kann
      18. Und jetzt soll der Zustand das Verhalten beeinflussen
      19. Herzlichen Glückwunsch zu Ihren ersten Objekten!
      20. Objekte sind überall (und sie machen Ihnen das Leben leichter)! (1/3)
      21. Objekte sind überall (und sie machen Ihnen das Leben leichter)! (2/3)
      22. Objekte sind überall (und sie machen Ihnen das Leben leichter)! (3/3)
    13. 6 Interaktion mit der Webseite: Das DOM kennenlernen
      1. Im letzten Kapitel gab es eine »Knacken Sie den Geheimcode«-Aufgabe
      2. Und was macht dieser Code genau?
      3. Wie JavaScript tatsächlich mit Ihrer Seite interagiert
      4. Ein Rezept für Ihr eigenes DOM
      5. Ihr erster Eindruck vom DOM
      6. Mit getElementById auf ein Element zugreifen
      7. Was genau gibt mir das DOM zurück?
      8. Finden Sie Ihr inneres HTML
      9. Was passiert wenn Sie das DOM verändern?
      10. Ein kleiner Probeflug
      11. Denken Sie nicht mal daran, meinen Code vor dem vollständigen Laden der Seite auszuführen!
      12. Sie sagen »Event-Handler«, ich sage »Callback«
      13. Ein Attribut per setAttribute bearbeiten
      14. Mehr Spaß mit Attributen
      15. Vergessen Sie nicht, dass getElementById auch null zurückgeben kann!
      16. Und wofür ist das DOM sonst noch gut? (1/2)
      17. Und wofür ist das DOM sonst noch gut? (2/2)
    14. 7 Typen, Gleichheit, Umwandlung und der ganze Rest: Seriöse Typen
      1. Die Wahrheit ist irgendwo da draußen
      2. Achtung, Sie könnten undefined begegnen wenn Sie es nicht erwarten
      3. Die Verwendung von null
      4. Mit NaN arbeiten
      5. Es wird noch merkwürdiger
      6. Wir müssen Ihnen etwas gestehen
      7. Den Gleichheitsoperator (auch bekannt als ==) verstehen
      8. Wie der Gleichheitsoperator seinen Operanden konvertiert
      9. Die Gleichheit strikter verstehen (1/2)
      10. Die Gleichheit strikter verstehen (2/2)
      11. Noch mehr Typumwandlungen
      12. Testen, ob zwei Objekte gleich sind
      13. Die truthy ist irgendwo da darußen
      14. Was JavaScript als falsey ansieht
      15. Das geheime Leben der Strings
      16. Strings, die gleichzeitig primitive Datentypen und Objekte sind
      17. Eine Fünf-Minuten-Tour der String-Methoden (und -Eigenschaften)
      18. Krieg der Stühle (1/4)
      19. Krieg der Stühle (2/4)
      20. Krieg der Stühle (3/4)
      21. Krieg der Stühle (4/4)
    15. 8 Die Einzelteile zusammenfügen: Eine App schreiben
      1. Diesmal wollen wir ein ECHTES »Schiffe-versenken«-Spiel erstellen
      2. Ein Schritt zurück
      3. Die HTML-Seite erstellen: Ein Überblick
      4. Etwas Stil hinzufügen
      5. Die Klassen hit und miss verwenden
      6. Das Spiel entwickeln
      7. Den View implementieren
      8. Die Funktionsweise von displayMessage
      9. Die Funktionsweise von displayHit und displayMiss
      10. Das Model
      11. Wie die Schiffe intern dargestellt werden
      12. Das Model-Objekt implementieren
      13. Nachdenken über die fire-Methode (1/2)
      14. Nachdenken über die fire-Methode (2/2)
      15. Den Controller implementieren
      16. Den Rateversuch den Spielers verarbeiten
      17. Den Code planen
      18. Die parseGuess-Methode implementieren
      19. Rateversuche zählen und feuern
      20. Ein Event-Handler für den Feuer!-Button
      21. Die Eingabe an den Controller übergeben
      22. Die Schiffe richtig platzieren
      23. Die generateShip-Methode erstellen
      24. Die Startpostion für ein neues Schiff erzeugen
      25. Die generateShip-Methode fertigstellen (1/3)
      26. Die generateShip-Methode fertigstellen (2/3)
      27. Die generateShip-Methode fertigstellen (3/3)
    16. 9 Asynchron programmieren: Events be-handeln
      1. Was sind Events?
      2. Was ist ein Event-Handler?
      3. Den ersten Event-Handler erstellen
      4. Probefahrt für Ihr Event
      5. Events verstehen
      6. Das Spiel implementieren
      7. Probefahrt
      8. Noch mehr Bilder
      9. Jetzt müssen wir den onclick-Eigenschaften jedes Bilds den gleichen Handler zuweisen
      10. Den gleichen Handler für alle Bilder benutzen
      11. Die Funktionsweise des Event-Objekts
      12. Das Event-Objekt benutzen
      13. Probefahrt für das Event-Objekt und die target-Eigenschaft
      14. Events und ihre Warteschlange
      15. Noch mehr Events
      16. Wie setTimeout funktioniert
      17. Das Bilderrätsel fertigstellen
      18. Probefahrt für den Timer (1/4)
      19. Probefahrt für den Timer (2/4)
      20. Probefahrt für den Timer (3/4)
      21. Probefahrt für den Timer (4/4)
    17. 10 Funktionen erster Klasse: Befreite Funktionen
      1. Das mysteriöse Doppelleben des Schlüsselworts function
      2. Funktionsdeklarationen im Vergleich mit Funktionsausdrücken
      3. Die Funktionsdeklaration parsen
      4. Was kommt jetzt? Der Browser führt den Code aus
      5. Weiter geht’s
      6. Wie Funktionen auch Werte sein können
      7. Haben wir schon gesagt, dasss Funktionen in JavaScript als erstklassig gelten?
      8. Erster Klasse fliegen
      9. Den Code schreiben, um Passagiere zu verarbeiten und zu überprüfen
      10. Über die Passagiere iterieren
      11. Eine Funktion an eine andere übergeben
      12. Funktionen aus Funktionen zurückgeben
      13. Den Code für die Getränkebestellung schreiben
      14. Der Flugbegleiter-Code für die Getränkebestellung: ein neuer Ansatz
      15. Bestellungen mit Funktionen erster Klasse
      16. Webville Cola
      17. Wie die sort-Methode für Array funktioniert
      18. Die Einzelteile zusammensetzten
      19. Probefahrt für die Sortierung (1/3)
      20. Probefahrt für die Sortierung (2/3)
      21. Probefahrt für die Sortierung (3/3)
    18. 11 Anonyme Funktionen, Geltungsbereiche und Closures: Seriöse Funktionen
      1. Sehen Sie Funktionen mal andersherum
      2. Anonyme Funktionen benutzen
      3. Wir müssen nochmal über Ihren Wortschatz reden
      4. Wann wird eine Funktion definiert? Kommt drauf an
      5. Was ist da gerade passiert? Warum war fly nicht definiert?
      6. Funktionen verschachteln
      7. Wie sich die Verschachtelung auf den Geltungsbereich auswirkt
      8. Ein kleiner Rückblick zum lexikalischen Geltungsbereich
      9. Wo der lexikalische Geltungsbereich richtig interessant wird
      10. Wiedersehen mit Funktionen
      11. Wiedersehen mit Funktionsaufrufen
      12. Was zum Henker ist eine Closure?
      13. Eine Funktion »schließen«
      14. Mit Closures einen magischen Zähler implementieren
      15. Ein Blick hinter die Kulissen
      16. Closures durch Übergabe einer Funktionsreferenz als Argument erstellen
      17. Die Closure enthält keine Kopie, sondern die tatsächliche Umgebung
      18. Eine Closure per Event-Handler erstellen
      19. Wie die Klick mich!-Closure funktioniert (1/3)
      20. Wie die Klick mich!-Closure funktioniert (2/3)
      21. Wie die Klick mich!-Closure funktioniert (3/3)
    19. 12 Fortgeschrittene Objektkonstruktion: Objekte erstellen
      1. Objekte mit Objektliteralen erstellen
      2. Konventionen für Objekte verwenden
      3. Einführung in Objektkonstruktoren
      4. Einen Konstruktor erstellen
      5. Einen Konstruktor benutzen
      6. Wie Konstruktoren funktionieren
      7. Konstruktoren können auch Methoden enthalten (1/2)
      8. Konstruktoren können auch Methoden enthalten (2/2)
      9. Zeit für die Produktion!
      10. Jetzt wollen wir ein paar neue Autos Probe fahren
      11. Verlassen Sie sich nicht einfach auf Objektliterale
      12. Die Argumente als Objektliteral neu verdrahten
      13. Den Car-Konstruktor umbauen
      14. Objektinstanzen verstehen
      15. Auch per Konstruktor erstellte Objekte können eigene unabhängige Eigenschaften haben
      16. Konstruktoren im wahren Leben
      17. Der Array-Objektkonstruktor
      18. Noch mehr Spaß mit eingebauten Objekten (1/3)
      19. Noch mehr Spaß mit eingebauten Objekten (2/3)
      20. Noch mehr Spaß mit eingebauten Objekten (3/3)
    20. 13 Prototypen verwenden: Extrastarke Objekte
      1. Ach so, bevor wir anfangen, haben wir noch eine bessere Möglichkeit unsere Objekte in einem Diagramm darzustellen
      2. Wiedersehen mit Objektkonstruktoren
      3. Ist die Duplizierung der Methode wirklich ein Problem?
      4. Was sind Prototypen?
      5. Von einem Prototyp erben
      6. Wie die Vererbung funktioniert
      7. Prototypen überschreiben
      8. Den Prototyp einrichten (1/2)
      9. Den Prototyp einrichten (2/2)
      10. Prototypen sind dynamisch
      11. Eine interessantere Implemetierung der sit-Methode
      12. Noch einmal: die Funktionsweise der sitting-Eigenschaft
      13. Die Herangehensweise für Ausstelungshunde
      14. Eine Prototypenkette einrichten
      15. Die Funktionsweise der Vererbung in der Prototypenkette
      16. Den Prototyp für Ausstellungshunde erstellen
      17. Eine Ausstellungshunde-Instanz erzeugen
      18. Eine letzte Reinigung der Ausstellungshunde
      19. Dog.call Schritt für Schritt
      20. Die Kette endet nicht bei Dog
      21. Vererbung zu Ihrem Vorteil nutzen
      22. Vererbung zum eigenen Vorteil nutzen
      23. Die große Einheitstheorie von Allem
      24. Besser leben mit Objekten
      25. Die Einzelteile zusammenfügen
      26. Was kommt als Nächstes?
    21. A Die Top Ten der Themen, die wir nicht behandelt haben: Was übrig bleibt
      1. 1. jQuery
      2. 2. Mehr mit dem DOM anstellen
      3. 3. Das window-Objekt
      4. 4. arguments
      5. 5. Mit Ausnahmen umgehen
      6. 6. Event-Handler mit addEventListener hinzufügen
      7. 7. Reguläre Ausdrücke
      8. 8. Rekursion
      9. 9. JSON
      10. 10. Serverseitiges JavaScript
    22. Index (1/5)
    23. Index (2/5)
    24. Index (3/5)
    25. Index (4/5)
    26. Index (5/5)