Объект window
В лавке есть колокольчик. Это абзац #bell, и он начинается как blank. Формы на этой странице нет.
window — объект этой вкладки. Документ, ширина окна просмотра и любой var в простом скрипте висят на нём. let не висит. Страница читает четыре вещи и соединяет их. Строка читается same / 4 / undefined / number.
Не чайный бланк
Прошлая страница отклоняла пустого гостя и число чашек вне 1–3. Её строка была need guest / ok. Эта страница не смотрит на #guest и не смотрит на поле #cups. Имя cups здесь — var, не поле.
Вопрос другой: до чего дотягиваешься через window?
Один документ
document — не вторая копия. Это window.document. Колокольчик, найденный через window.document, тот же, что найден через 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);
В журнале same, затем true. Один документ, один колокольчик.
var висит на окне
var cups = 4 в этом скрипте создаёт window.cups. Прочитанное — число 4. String делает из него текст только для колокольчика.
var cups = 4;
let bell = document.getElementById("bell");
bell.textContent = String(window.cups);
console.log(bell.textContent);
В журнале 4. Четвёрка — переменная, не поле формы.
let остаётся снаружи
let kettle = 1 существует. Это не свойство window. window.kettle равен undefined, и String от этого — слово undefined.
let kettle = 1;
let bell = document.getElementById("bell");
bell.textContent = String(window.kettle);
console.log(bell.textContent);
console.log(kettle);
В журнале undefined, затем 1. Чайник есть. Он просто не висит на window.
Ширина — число
window.innerWidth — сколько CSS-пикселей в ширину у окна просмотра. typeof этого значения — "number". Это не текст, каким бывает value поля ввода.
let bell = document.getElementById("bell");
bell.textContent = typeof window.innerWidth;
console.log(bell.textContent);
В журнале number. Число пикселей меняется вместе с окном. Тип не меняется.
Не записывай адрес
window.location.href — адрес этой вкладки, и это строка. Читать его безопасно. Запись нового адреса уводит со страницы. Ни один фрагмент не пишет в href.
Четыре чтения, не форма
Здесь не обрезают имя и не проверяют диапазон. Четыре чтения: тот ли это документ, var, отсутствующий let и тип ширины. String(undefined) — слово undefined, не пустой колокольчик.
Строка под колокольчиком
Скрипт в конце body. Он объявляет var cups = 4 и let kettle = 1, затем кладёт четыре чтения: совпал ли документ, window.cups, window.kettle и 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>
Строка читается same / 4 / undefined / number. Документ совпал. var был виден на window. let нет. Тип ширины — number. Слово blank исчезло. need guest / ok — прошлая страница.
У стойки
- Сравни
window.documentсdocument. Колокольчик показывает same. - Объяви
var cups = 4и прочитайwindow.cups. Колокольчик показывает 4. - Объяви
let kettle = 1и прочитайwindow.kettle. Колокольчик показывает undefined. Самkettleпо-прежнему 1. - Прочитай
typeof window.innerWidth. Колокольчик показывает number. - Прочитай строку страницы: same / 4 / undefined / number.
Промахи у стойки
Колокольчик показывает одно из этих слов, не имя гостя.
- Ждать, что
window.kettleравен 1 - Ждать, что
window.cupsравен undefined - Считать
innerWidthтекстом - Записать
location.hrefи уйти со страницы - Прочитать строку как need guest / ok
Оставь это
window.documentиdocument— один объектvar cups = 4читается какwindow.cupslet kettle = 1не создаётwindow.kettletypeof window.innerWidth— это number- Строка страницы — same / 4 / undefined / number
🧠 Проверьте Свои Знания
Проверьте Свои Знания
Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему
📝 Инструкции
- Внимательно прочитайте каждый вопрос
- Выберите лучший ответ на каждый вопрос
- Вы можете пересдавать тест столько раз, сколько захотите
- Ваш прогресс будет показан вверху