L’objet window
La boutique a une cloche. C’est le paragraphe #bell, et il commence par blank. Cette page n’a pas de formulaire.
window est l’objet de cet onglet. Le document, la largeur du viewport et tout var d’un script simple y sont accrochés. Un let ne l’est pas. La page lit quatre choses et les joint. La ligne devient same / 4 / undefined / number.
Pas le bon de thé
La page précédente refusait un invité vide et un nombre de tasses hors de 1 à 3. Sa ligne était need guest / ok. Cette page ne regarde pas #guest ni le champ #cups. Le nom cups est ici un var, pas un champ.
La question change : qu’atteint-on à travers window ?
Un seul document
document n’est pas une seconde copie. C’est window.document. La cloche trouvée par window.document est la cloche trouvée par 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);
Le journal est same, puis true. Un document, une cloche.
Un var s’accroche à la fenêtre
var cups = 4 dans ce script crée window.cups. Lu, c’est le nombre 4. String n’en fait du texte que pour la cloche.
var cups = 4;
let bell = document.getElementById("bell");
bell.textContent = String(window.cups);
console.log(bell.textContent);
Le journal est 4. Le 4 est la variable, pas un champ de formulaire.
Un let reste dehors
let kettle = 1 existe. Ce n’est pas une propriété de window. window.kettle vaut undefined, et String de cela donne le mot undefined.
let kettle = 1;
let bell = document.getElementById("bell");
bell.textContent = String(window.kettle);
console.log(bell.textContent);
console.log(kettle);
Le journal est undefined, puis 1. La bouilloire existe. Elle ne s’accroche simplement pas à window.
La largeur est un nombre
window.innerWidth est le nombre de pixels CSS en largeur du viewport. typeof de cette valeur est "number". Ce n’est pas du texte, contrairement à value d’un champ.
let bell = document.getElementById("bell");
bell.textContent = typeof window.innerWidth;
console.log(bell.textContent);
Le journal est number. Le nombre de pixels change avec la fenêtre. Le type non.
Ne pas écrire l’adresse
window.location.href est l’adresse de cet onglet, et c’est un texte. La lire est sans risque. Y écrire une adresse neuve quitte la page. Aucun extrait n’écrit dans href.
Quatre lectures, pas un formulaire
Ici on ne coupe pas un nom et on ne teste pas une plage. Les quatre lectures : le document est-il le même objet, le var, le let absent, et le type de la largeur. String(undefined) est le mot undefined, pas une cloche vide.
La ligne sous la cloche
Le script est à la fin de body. Il déclare var cups = 4 et let kettle = 1, puis pousse quatre lectures : le document correspond-il, window.cups, window.kettle et 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>
La ligne est same / 4 / undefined / number. Le document correspondait. Le var était visible sur window. Le let non. Le type de la largeur est number. Le mot blank a disparu. need guest / ok est la page précédente.
Au comptoir
- Compare
window.documentavecdocument. La cloche affiche same. - Déclare
var cups = 4et liswindow.cups. La cloche affiche 4. - Déclare
let kettle = 1et liswindow.kettle. La cloche affiche undefined.kettlelui-même reste 1. - Lis
typeof window.innerWidth. La cloche affiche number. - Lis la ligne de la page : same / 4 / undefined / number.
Ratés au comptoir
La cloche affiche l’un de ces mots, pas un nom d’invité.
- Attendre que
window.kettlevaille 1 - Attendre que
window.cupsvaille undefined - Traiter
innerWidthcomme du texte - Écrire dans
location.hrefet quitter la page - Lire la ligne comme need guest / ok
À retenir
window.documentetdocumentsont le même objetvar cups = 4se lit commewindow.cupslet kettle = 1ne crée paswindow.kettletypeof window.innerWidthest number- La ligne de la page est same / 4 / undefined / number
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut