Einführung in JavaScript
Dieses Kapitel führt in JavaScript ein.
Ziel ist es zu verstehen, warum JavaScript existiert, welches Problem es löst,
wie es mit HTML und CSS zusammenspielt und wie du JavaScript sauber in ein Projekt einbindest.
Am Ende kannst du ein minimales Setup erstellen, Debugging über die Konsole betreiben und
weißt, wann dein Code ausgeführt wird.
1. Was ist JavaScript?
Definition.
JavaScript ist eine Programmiersprache, die in Webanwendungen verwendet wird,
um Interaktivität und Logik in Webseiten zu bringen.
Während HTML die Struktur (Inhalt, Elemente) und CSS die Darstellung (Layout, Design) definiert,
kümmert sich JavaScript um:
- Reaktionen auf Nutzeraktionen (Klicks, Tastatur, Scrollen)
- dynamische Änderungen am Inhalt (DOM-Manipulation)
- Logik (Bedingungen, Schleifen, Funktionen)
- Daten laden und verarbeiten (z. B. Fetch/HTTP)
- Formularvalidierung und UI-Verhalten
Trennung der Aufgaben:
- HTML: Was ist der Inhalt?
- CSS: Wie sieht der Inhalt aus?
- JavaScript: Was passiert mit dem Inhalt?
2. Warum braucht man JavaScript?
JavaScript wird benötigt, wenn eine Webseite nicht nur statische Informationen anzeigen,
sondern auf Benutzer reagieren und sich dynamisch verändern soll.
Ohne JavaScript sind Webseiten in vielen Fällen „stumm“: Inhalte werden angezeigt,
aber es gibt keine echte Interaktion (außer reinen Links).
CSS kann Layout und Animationen steuern, aber keine Logik ausführen und keine Entscheidungen treffen.
Für „Wenn … dann …“-Verhalten benötigt man JavaScript.
JavaScript ermöglicht:
- Buttons, die Inhalte ein-/ausblenden
- Formulare, die Eingaben prüfen (z. B. E-Mail-Format)
- dynamische Listen (To-Do, Warenkorb)
- Inhalte nachladen (ohne Seite neu zu laden)
- komplexe Web-Apps (Dashboards, Karten, Chats)
3. Wo läuft JavaScript?
JavaScript kann in verschiedenen Umgebungen laufen:
im Browser (Frontend) und außerhalb des Browsers (z. B. Node.js).
In diesem Kurs starten wir im Browser. Dort wird JavaScript durch eine Engine ausgeführt:
- Chrome/Edge: V8
- Firefox: SpiderMonkey
- Safari: JavaScriptCore
Browser-JavaScript läuft in einer Sicherheitsumgebung („Sandbox“).
Es kann nicht einfach auf deine Dateien zugreifen oder Programme starten.
4. JavaScript und das DOM
Das DOM (Document Object Model) ist die interne Repräsentation einer HTML-Seite als Baumstruktur.
JavaScript kann diesen Baum lesen und verändern.
Wichtig: JavaScript „ändert“ nicht die HTML-Datei auf der Festplatte, sondern die live geladene Seite im Browser.
Beispiel (konzeptionell):
// Element suchen
const title = document.querySelector("h1");
// Inhalt ändern
title.textContent = "Hallo von JavaScript";
Später lernst du präzise Selektoren, Events und saubere DOM-Updates.
Hier geht es um das Grundprinzip: JavaScript steuert Verhalten und Dynamik.
5. JavaScript einbinden: drei Methoden
Es gibt drei grundlegende Arten, JavaScript in ein HTML-Dokument einzubinden.
- Inline-JavaScript (im HTML-Element, z. B. onclick)
- Internes JavaScript (im <script>-Tag)
- Externes JavaScript (separate .js-Datei)
5.1 Inline-JavaScript (nicht empfohlen)
Inline-JS wirkt am Anfang praktisch, führt aber schnell zu unübersichtlichem Code und ist schlecht wartbar.
<button onclick="alert('Hallo!')">Klick</button>
5.2 Internes JavaScript (für kleine Beispiele ok)
<script>
console.log("Hallo aus dem Script-Tag");
</script>
5.3 Externes JavaScript (Standard)
Externes JavaScript wird als separate Datei gespeichert und per Script-Tag eingebunden:
<script src="app.js"></script>
Externes JS ist in professionellen Projekten Standard: sauber, wiederverwendbar, leichter zu debuggen.
6. Der wichtigste Punkt: Wann wird JavaScript ausgeführt?
Der Browser lädt HTML von oben nach unten. Wenn ein Script ausgeführt wird, bevor ein Element existiert,
kann JavaScript dieses Element nicht finden.
Typische Fehlermeldung:
Cannot read properties of null (reading 'addEventListener')
Das passiert, wenn du z. B. auf einen Button zugreifen willst, der im HTML erst später kommt.
6.1 Lösung A: Script ans Ende des Bodys
<body>
...
<script src="app.js"></script>
</body>
6.2 Lösung B: defer (empfohlen)
Mit defer wird das Script geladen, aber erst ausgeführt, nachdem das HTML komplett geparst wurde.
<script defer src="app.js"></script>
6.3 Lösung C: DOMContentLoaded
document.addEventListener("DOMContentLoaded", () => {
// DOM ist jetzt verfügbar
});
In vielen Projekten sieht man defer plus DOMContentLoaded. Meist reicht eines von beiden.
7. Minimalprojekt: Dein erstes funktionierendes Setup
Erstelle einen Ordner mit dieser Struktur:
7.1 index.html
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>JS01 Test</title>
<!-- defer: Script läuft erst nach dem HTML -->
<script defer src="app.js"></script>
</head>
<body>
<h1>Hallo JavaScript</h1>
<button id="btn">Klick</button>
<p id="msg">—</p>
</body>
</html>
7.2 app.js
document.addEventListener("DOMContentLoaded", () => {
const btn = document.getElementById("btn");
const msg = document.getElementById("msg");
btn.addEventListener("click", () => {
msg.textContent = "Button wurde geklickt ✅";
});
});
Wenn das nicht funktioniert: Öffne DevTools → Console und prüfe, ob Fehler angezeigt werden.
8. Debugging: Die Entwicklerkonsole (Pflichtwerkzeug)
Die Console ist das wichtigste Debugging-Werkzeug in JavaScript.
Du verwendest sie zum Testen, Analysieren und Finden von Fehlern.
Wichtige Methoden:
console.log() — normale Ausgabe
console.warn() — Warnungen
console.error() — Fehler
console.log("Start");
console.warn("Warnung: Das ist nur ein Hinweis");
console.error("Fehler: Etwas ist schiefgelaufen");
Wenn „nichts passiert“: In 90% der Fälle ist die Console der Ort, an dem du den Grund findest.
9. Häufige Anfängerfehler (und wie man sie sofort erkennt)
Die meisten Probleme am Anfang entstehen nicht durch „schwierige Logik“, sondern durch Setup-Fehler.
- Falscher Pfad: Script-Datei wird nicht geladen (Network-Tab → 404).
- Falsche ID: HTML hat
id="btn", JS sucht "button".
- Script läuft zu früh: Element ist
null.
- Tippfehler: Ein fehlendes Zeichen kann das ganze Script stoppen.
Wenn du eine Fehlermeldung siehst: Lies sie vollständig. Sie sagt dir oft exakt, was falsch ist.
10. Übungen
Übung 1 — Console-Grundlagen.
Schreibe in
app.js drei Ausgaben:
- „Seite geladen“
- „Mein Name ist …“
- Die Summe von 7 und 13
Übung 2 — Toggle-Text.
Beim Klick auf den Button soll der Text in <p id="msg"> zwischen „AN“ und „AUS“ wechseln.
(Verwende eine Variable, die den Zustand speichert.)
Übung 3 — Debugging.
Ändere die Button-ID im HTML, aber nicht im JS. Beobachte die Fehlermeldung und erkläre:
- Was bedeutet
null in diesem Kontext?
- Wie findest du den Fehler systematisch?
11. Zusammenfassung
- JavaScript bringt Logik und Interaktivität ins Web.
- Sauberer Standard: externe JS-Datei +
defer oder DOMContentLoaded.
- DOM ist die Baumstruktur der Seite, die JavaScript live verändern kann.
- Console ist das wichtigste Werkzeug, um Probleme schnell zu finden.
Wer JavaScript beherrscht, kontrolliert das Verhalten des Webs.