Lädt...

Das window-Objekt

Der Laden hat eine Glocke. Es ist der Absatz #bell, und er beginnt als blank. Auf dieser Seite gibt es kein Formular.
window ist das Objekt dieses Tabs. Das Dokument, die Breite des Ansichtsfensters und jedes var in einem einfachen Skript hängen daran. Ein let nicht. Die Seite liest vier Dinge und setzt sie zusammen. Die Zeile lautet same / 4 / undefined / number.

Nicht der Teezettel

Die vorige Seite lehnte einen leeren Gast und eine Tassenzahl außerhalb von 1 bis 3 ab. Ihre Zeile war need guest / ok. Diese Seite sieht #guest nicht an und auch das Feld #cups nicht. Der Name cups ist hier ein var, kein Feld.
Die Frage ist eine andere: was erreichst du über window?

Ein Dokument

document ist keine zweite Kopie. Es ist window.document. Die Glocke über window.document ist dieselbe Glocke über document.

Dasselbe Dokument

javascript
let bell = window.document.getElementById("bell");
let also = document.getElementById("bell");
bell.textContent = window.document === document ? "same" : "no";
console.log(bell.textContent);
console.log(bell === also);

Das Log ist same, dann true. Ein Dokument, eine Glocke.

Ein var hängt am Fenster

var cups = 4 in diesem Skript erzeugt window.cups. Gelesen ist es die Zahl 4. String macht daraus nur Text für die Glocke.

Eine var über window lesen

javascript
var cups = 4;
let bell = document.getElementById("bell");
bell.textContent = String(window.cups);
console.log(bell.textContent);

Das Log ist 4. Die 4 ist die Variable, kein Formularfeld.

Ein let bleibt draußen

let kettle = 1 gibt es. Es ist keine Eigenschaft von window. window.kettle ist undefined, und String daraus ist das Wort undefined.

let hängt nicht an window

javascript
let kettle = 1;
let bell = document.getElementById("bell");
bell.textContent = String(window.kettle);
console.log(bell.textContent);
console.log(kettle);

Das Log ist undefined, dann 1. Der Kessel existiert. Er hängt nur nicht an window.

Die Breite ist eine Zahl

window.innerWidth ist die Anzahl CSS-Pixel quer durch das Ansichtsfenster. typeof dieses Werts ist "number". Es ist kein Text, so wie value eines Eingabefelds Text ist.

Die Breite ist eine Zahl

javascript
let bell = document.getElementById("bell");
bell.textContent = typeof window.innerWidth;
console.log(bell.textContent);

Das Log ist number. Die Pixelzahl ändert sich mit dem Fenster. Der Typ nicht.

Die Adresse nicht überschreiben

window.location.href ist die Adresse dieses Tabs, und sie ist eine Zeichenkette. Lesen ist ungefährlich. Eine neue Adresse hineinschreiben verlässt die Seite. Kein Ausschnitt schreibt in href.

Vier Lesarten, kein Formular

Hier wird kein Name beschnitten und kein Bereich geprüft. Die vier Lesarten: ob das Dokument dasselbe Objekt ist, das var, das fehlende let, und der Typ der Breite. String(undefined) ist das Wort undefined, keine leere Glocke.

Die Zeile unter der Glocke

Das Skript steht am Ende von body. Es deklariert var cups = 4 und let kettle = 1 und schiebt dann vier Lesarten: ob das Dokument dasselbe ist, window.cups, window.kettle und typeof window.innerWidth.

Seitendemo — die Ladenglocke

html
<!DOCTYPE html>
<html>
<head>
<title>shop-bell — page</title>
</head>
<body>
<p id="bell">blank</p>
<p id="line">…</p>
<script>
var cups = 4;
let kettle = 1;
let seen = [];
seen.push(window.document === document ? "same" : "no");
seen.push(String(window.cups));
seen.push(String(window.kettle));
seen.push(typeof window.innerWidth);
document.getElementById("line").textContent = seen.join(" / ");
</script>
</body>
</html>

Die Zeile lautet same / 4 / undefined / number. Das Dokument stimmte. Das var war auf window sichtbar. Das let nicht. Der Typ der Breite ist number. Das Wort blank ist weg. need guest / ok ist die vorige Seite.

An der Theke

  1. Vergleiche window.document mit document. Die Glocke zeigt same.
  2. Deklariere var cups = 4 und lies window.cups. Die Glocke zeigt 4.
  3. Deklariere let kettle = 1 und lies window.kettle. Die Glocke zeigt undefined. kettle selbst ist weiter 1.
  4. Lies typeof window.innerWidth. Die Glocke zeigt number.
  5. Lies die Zeile der Seite: same / 4 / undefined / number.

Fehler an der Theke

Die Glocke zeigt eines dieser Wörter, keinen Gastnamen.

  • Erwarten, dass window.kettle gleich 1 ist
  • Erwarten, dass window.cups undefined ist
  • innerWidth als Text behandeln
  • location.href überschreiben und die Seite verlassen
  • Die Zeile als need guest / ok lesen

Das behalten

  • window.document und document sind dasselbe Objekt
  • var cups = 4 ist als window.cups lesbar
  • let kettle = 1 erzeugt kein window.kettle
  • typeof window.innerWidth ist number
  • Die Zeile der Seite lautet same / 4 / undefined / number

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
5
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt