Facebook Pixel
Searching...
Deutsch
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
A Smarter Way to Learn JavaScript

A Smarter Way to Learn JavaScript

The new approach that uses technology to cut your effort in half
von Mark Myers 2013 256 Seiten
4.05
500+ Bewertungen
Hören
Hören

Wichtige Erkenntnisse

1. JavaScript-Grundlagen: Variablen, Datentypen und Operatoren

JavaScript ist wörtlich gemeint.

Variablen und Datentypen. JavaScript verwendet Variablen zur Speicherung und Manipulation von Daten. Deklarieren Sie Variablen mit var, let oder const. Grundlegende Datentypen umfassen Zahlen, Zeichenketten, Booleans, null und undefined. JavaScript ist dynamisch typisiert, was bedeutet, dass Variablen ihren Typ ändern können.

Operatoren und Ausdrücke. Verwenden Sie arithmetische Operatoren (+, -, *, /, %) für mathematische Operationen. Vergleichsoperatoren (==, ===, !=, !==, <, >, <=, >=) vergleichen Werte. Logische Operatoren (&&, ||, !) kombinieren oder negieren boolesche Ausdrücke. Der Zuweisungsoperator (=) weist Variablen Werte zu.

  • Zeichenkettenverkettung: Verwenden Sie +, um Zeichenketten zu verbinden
  • Typumwandlung: JavaScript konvertiert Typen automatisch in einigen Operationen
  • Operatorenrangfolge: Verwenden Sie Klammern, um die Reihenfolge der Operationen zu steuern

2. Kontrollstrukturen: Bedingte Anweisungen und Schleifen

JavaScript hat eine unangenehme Eigenart: Nachdem ein wahrer Fall gefunden wurde, führt JavaScript nicht nur die Anweisung(en) direkt unter diesem Fall aus. Es führt alle Anweisungen für alle Fälle darunter aus.

Bedingte Anweisungen. Verwenden Sie if, else if und else, um Code basierend auf Bedingungen auszuführen. Die switch-Anweisung bietet eine Alternative für mehrere Bedingungen, aber denken Sie daran, break zu verwenden, um das Durchfallen zu verhindern.

Schleifen für wiederholte Aufgaben. for-Schleifen sind ideal für bekannte Iterationszahlen. while-Schleifen laufen weiter, bis eine Bedingung falsch ist. do...while-Schleifen stellen sicher, dass mindestens eine Ausführung erfolgt. Verwenden Sie break, um Schleifen vorzeitig zu beenden, und continue, um Iterationen zu überspringen.

  • if-Anweisungsstruktur: if (Bedingung) { // Code }
  • switch-Anweisungsstruktur: switch(Ausdruck) { case Wert: // Code; break; }
  • for-Schleifenstruktur: for (Initialisierung; Bedingung; Aktualisierung) { // Code }
  • while-Schleifenstruktur: while (Bedingung) { // Code }

3. Funktionen: Definieren, Aufrufen und Verständnis des Geltungsbereichs

Eine Funktion ist ein Block von JavaScript, der immer wieder dasselbe tut, wann immer Sie seinen Namen aufrufen.

Grundlagen der Funktionen. Definieren Sie Funktionen mit dem Schlüsselwort function, gefolgt von einem Namen, Parametern in Klammern und einem Codeblock in geschweiften Klammern. Rufen Sie Funktionen mit Namen und Argumenten auf. Verwenden Sie return, um Werte an den Aufrufer zurückzusenden.

Geltungsbereich und Closure. Variablen, die innerhalb von Funktionen deklariert werden, sind lokal für diese Funktion. Globale Variablen sind überall zugänglich. Closure ermöglicht es inneren Funktionen, auf Variablen der äußeren Funktion zuzugreifen, was leistungsstarke Muster für Datenschutz und Modulentwurf schafft.

  • Funktionsdeklaration: function name(parameter) { // Code }
  • Funktionsausdruck: var name = function(parameter) { // Code }
  • Pfeilfunktionen (ES6+): (parameter) => { // Code }
  • Parameter vs. Argumente: Parameter sind in der Funktionsdefinition, Argumente sind Werte, die beim Aufruf übergeben werden

4. Arrays und Objekte: Arbeiten mit komplexen Datenstrukturen

Eine Variable kann eine beliebige Anzahl von Werten haben, aber nur einen zur gleichen Zeit.

Arrays für geordnete Sammlungen. Erstellen Sie Arrays mit eckigen Klammern. Greifen Sie auf Elemente über den Index (nullbasiert) zu. Verwenden Sie Methoden wie push(), pop(), shift(), unshift() und splice(), um Arrays zu ändern. Iterieren Sie mit for-Schleifen oder forEach().

Objekte für Schlüssel-Wert-Paare. Definieren Sie Objekte mit geschweiften Klammern. Greifen Sie auf Eigenschaften mit Punktnotation oder eckigen Klammern zu. Verwenden Sie Objektmethoden, um Daten zu manipulieren. Erstellen Sie Objektkonstruktoren für wiederverwendbare Vorlagen. Verstehen Sie Prototypen für Vererbung.

  • Array-Methoden: length, indexOf(), slice(), map(), filter(), reduce()
  • Objekterstellung: Literale Notation, Konstruktionsfunktionen, ES6-Klassen
  • Objektprototyp: Gemeinsame Eigenschaften und Methoden für Effizienz
  • JSON: JavaScript Object Notation für den Datenaustausch

5. DOM-Manipulation: Interaktion mit HTML-Elementen

Das DOM ist ein Organigramm, das automatisch vom Browser erstellt wird, wenn Ihre Webseite geladen wird, für die gesamte Webseite.

Zugriff auf Elemente. Verwenden Sie Methoden wie getElementById(), getElementsByClassName(), getElementsByTagName() und querySelector(), um Elemente auszuwählen. Durchlaufen Sie den DOM-Baum mit Eigenschaften wie parentNode, childNodes und siblings.

Ändern von Elementen. Ändern Sie den Inhalt mit innerHTML oder textContent. Ändern Sie Attribute mit setAttribute(). Passen Sie Stile mit der Eigenschaft style an. Erstellen Sie neue Elemente mit createElement() und fügen Sie sie mit appendChild() oder insertBefore() in das Dokument ein.

  • DOM-Knotentypen: Elementknoten, Textknoten, Attributknoten
  • Klassen ändern: classList.add(), classList.remove(), classList.toggle()
  • Ereignislistener: addEventListener() für dynamische Interaktionen
  • Leistung: Verwenden Sie Dokumentfragmente für Batch-DOM-Updates

6. Ereignisbehandlung: Reagieren auf Benutzeraktionen

Eine gute Website ist eine interaktive Website.

Ereignistypen. Häufige Ereignisse umfassen click, mouseover, keydown, submit, load und resize. Verstehen Sie die Phasen des Ereignis-Bubblings und -Capturings für die richtige Handhabung.

Hinzufügen von Ereignis-Listenern. Verwenden Sie addEventListener(), um Ereignishandler an Elemente anzuhängen. Entfernen Sie Listener mit removeEventListener(), wenn sie nicht mehr benötigt werden. Behandeln Sie Standardverhalten mit preventDefault() und stoppen Sie die Ereignisausbreitung mit stopPropagation().

  • Ereignisobjekt: Enthält Informationen über das Ereignis (z.B. Ziel-Element, Mausposition)
  • Ereignisdelegation: Hängen Sie Listener an Elternelemente für Effizienz
  • Benutzerdefinierte Ereignisse: Erstellen und versenden Sie eigene Ereignisse für komplexe Interaktionen
  • Debouncing und Throttling: Optimieren Sie die Leistung für häufige Ereignisse (z.B. Scrollen, Größenänderung)

7. Browsersteuerung: Verwaltung von Fenstern und Navigation

JavaScript-Code ist es egal, wo er lebt.

Fensterverwaltung. Öffnen Sie neue Fenster oder Tabs mit window.open(). Steuern Sie die Fenstergröße und -position mit Optionen. Schließen Sie Fenster programmatisch mit window.close(). Verstehen Sie die Einschränkungen der Same-Origin-Policy.

Navigation und Verlauf. Leiten Sie Benutzer mit window.location.href weiter. Manipulieren Sie den Browserverlauf mit history.pushState() und history.replaceState(). Behandeln Sie Navigationsevents mit dem popstate-Ereignislistener.

  • Browser-Speicherung: localStorage und sessionStorage für clientseitige Datenpersistenz
  • Cookies: Setzen und lesen Sie Cookies für kleine Datenspeicherung und Tracking
  • AJAX und Fetch API: Machen Sie asynchrone Anfragen an Server ohne Seitenneuladen
  • Cross-Origin Resource Sharing (CORS): Verstehen Sie Sicherheitsimplikationen und richtige Implementierung

8. Best Practices: Code-Organisation und Effizienz

Kommentieren, wie Sie es von Ihrer Arbeit mit HTML und CSS kennen, ist eine Möglichkeit, dem Browser zu sagen, dass er bestimmte Textteile innerhalb des Codes ignorieren soll.

Code-Struktur. Organisieren Sie Code in logische Module oder Komponenten. Verwenden Sie konsistente Namenskonventionen (z.B. camelCase für Variablen und Funktionen). Halten Sie Funktionen klein und fokussiert auf einzelne Aufgaben.

Leistungsoptimierung. Minimieren Sie DOM-Manipulationen. Verwenden Sie Ereignisdelegation für mehrere ähnliche Elemente. Vermeiden Sie globale Variablen. Nutzen Sie Browser-Caching und Minifizierung für schnelleres Laden. Implementieren Sie Lazy Loading für Bilder und schwere Inhalte.

  • ESLint und Prettier: Verwenden Sie Tools für konsistenten Code-Stil und Fehlererkennung
  • Versionskontrolle: Verwenden Sie Git zur Nachverfolgung von Änderungen und Zusammenarbeit
  • Tests: Implementieren Sie Unit-Tests und Integrationstests für Zuverlässigkeit
  • Dokumentation: Schreiben Sie klare Kommentare und pflegen Sie aktuelle Dokumentation für Ihren Code

Zuletzt aktualisiert:

Rezensionen

4.05 von 5
Durchschnitt von 500+ Bewertungen von Goodreads und Amazon.

Ein intelligenterer Weg, JavaScript zu lernen erhält überwiegend positive Bewertungen für seinen anfängerfreundlichen Ansatz, die kurzen Kapitel und die interaktiven Online-Übungen. Leser schätzen die Wiederholungen und Übungen, die helfen, Konzepte zu festigen. Viele finden es ausgezeichnet für Programmieranfänger, obwohl einige erfahrene Entwickler es als zu grundlegend empfinden. Das Buch wird für seine klaren Erklärungen und das Stärken des Selbstvertrauens gelobt, aber dafür kritisiert, dass es keine fortgeschrittenen Themen oder ES6 abdeckt. Einige Leser empfehlen, es mit anderen Ressourcen zu ergänzen, um ein umfassendes Verständnis von JavaScript zu erlangen.

Über den Autor

Mark Myers ist ein ehemaliger Dozent der Boston University, der sich nun auf die Entwicklung interaktiver Schulungen und Websites konzentriert. Er besitzt einen Abschluss der Harvard University und widmet sich der Aufgabe, die Langeweile beim Lernen durch Technologie und Interaktivität zu verringern. Myers ist der Schöpfer der Serie "A Smarter Way to Learn", die Lehrbücher mit Online-Übungen kombiniert. Er betreibt die Website ASmarterWayToLearn.com. Myers lebt mit seiner Frau und drei Katzen in Taos, NM. Zu seinen Interessen zählen Kochen, Lesen, Frisbee spielen und die Serie "Breaking Bad" schauen. Sein Ansatz beim Programmierunterricht betont Wiederholung und Praxis, um die Lernretention zu verbessern.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Try Full Access for 7 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
All summaries are free to read in 40 languages
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 10
📜 Unlimited History
Free users are limited to 10
Risk-Free Timeline
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Feb 27,
cancel anytime before.
Consume 2.8x More Books
2.8x more books Listening Reading
Our users love us
50,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →