MINT üben

Programmieren mit JavaScript

Zehn Aufgaben zum Begründen, Vergleichen und Beurteilen — mit Strategie-Tipps und Musterlösungen.

Dein Fortschritt:
0 / 0 Aufgaben
3

Aufgabenblock — AFB III

Begründen statt nur ausführen: Fehler erklären, Varianten vergleichen und Entscheidungen treffen. Formuliere deine Antwort erst selbst in ganzen Sätzen, bevor du die Musterlösung aufklappst.

A1
Klasse oder ID?
AFB III

Begründe in 3–4 Sätzen, warum man für die Gestaltung von 20 gleich aussehenden Produktkarten eine Klasse und keine ID verwendet.

Hinweis: Denke daran, wie oft eine ID auf einer Seite vorkommen darf.

Strategie: Vergleiche, wie viele Elemente jeder Selektor treffen darf.Warum so? Die Regel folgt direkt aus der Definition.
Lösungsskizze: Klasse: beliebig oft · ID: einmal · eine Regel für alle
Musterlösung anzeigen (zählt als erledigt)

Musterlösung: Eine ID darf auf einer Seite nur an genau einem Element stehen, eine Klasse dagegen an beliebig vielen. Mit class="karte" und einer einzigen Regel .karte { … } sehen alle 20 Karten gleich aus. Mit IDs bräuchte man 20 verschiedene Namen und 20 Regeln. Ändert sich die Gestaltung, muss man mit der Klasse nur eine Stelle anpassen.

A2
Warum ans Ende des body?
AFB III

Begründe, warum das <script>-Element für ein Programm, das Elemente der Seite ändert, am Ende des body steht.

Hinweis: Der Browser liest die Datei von oben nach unten.

Strategie: Überlege, was beim Ausführen des Programms schon geladen ist.Warum so? Die Reihenfolge des Ladens erklärt den Fehler.
Lösungsskizze: Laden von oben · Elemente noch nicht da · null · Fehler
Musterlösung anzeigen (zählt als erledigt)

Musterlösung: Der Browser baut die Seite von oben nach unten auf und führt ein Script sofort aus, wenn er es erreicht. Steht es im head, gibt es die Elemente des body noch nicht; querySelector liefert dann null, und die nächste Zeile bricht ab. Am Ende des body sind alle Elemente schon geladen und können gefunden werden.

A3
Plus und Minus mit Text
AFB III

Begründe, warum "5" + 3 den Wert "53", "5" - 3 aber den Wert 2 hat.

Hinweis: Frage dich, welche Bedeutungen + und − haben können.

Strategie: Vergleiche, was + mit Texten macht und was − mit Texten machen könnte.Warum so? Der Unterschied liegt in den Operatoren, nicht in den Zahlen.
Lösungsskizze: + verkettet oder addiert · − nur rechnen · Umwandlung
Musterlösung anzeigen (zählt als erledigt)

Musterlösung: Das Zeichen + hat in JavaScript zwei Bedeutungen: Addieren und Texte aneinanderhängen. Ist einer der Werte ein Text, wird verkettet: "5" + 3 ergibt „53“. − kann nur rechnen; deshalb wandelt JavaScript den Text "5" automatisch in die Zahl 5 um und rechnet 5 − 3 = 2. Um sicherzugehen, wandelt man Eingaben mit Number um.