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.
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.
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 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.
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.
<!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
- Vergleiche
window.documentmitdocument. Die Glocke zeigt same. - Deklariere
var cups = 4und lieswindow.cups. Die Glocke zeigt 4. - Deklariere
let kettle = 1und lieswindow.kettle. Die Glocke zeigt undefined.kettleselbst ist weiter 1. - Lies
typeof window.innerWidth. Die Glocke zeigt number. - 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.kettlegleich 1 ist - Erwarten, dass
window.cupsundefined ist innerWidthals Text behandelnlocation.hrefüberschreiben und die Seite verlassen- Die Zeile als need guest / ok lesen
Das behalten
window.documentunddocumentsind dasselbe Objektvar cups = 4ist alswindow.cupslesbarlet kettle = 1erzeugt keinwindow.kettletypeof window.innerWidthist number- Die Zeile der Seite lautet same / 4 / undefined / number
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 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