Загрузка...

Объект 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.

Тот же документ

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);

В журнале same, затем true. Один документ, один колокольчик.

var висит на окне

var cups = 4 в этом скрипте создаёт window.cups. Прочитанное — число 4. String делает из него текст только для колокольчика.

Прочитать var через window

javascript
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 не на window

javascript
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 поля ввода.

Ширина — число

javascript
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.

Демо страницы — колокольчик

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>

Строка читается same / 4 / undefined / number. Документ совпал. var был виден на window. let нет. Тип ширины — number. Слово blank исчезло. need guest / ok — прошлая страница.

У стойки

  1. Сравни window.document с document. Колокольчик показывает same.
  2. Объяви var cups = 4 и прочитай window.cups. Колокольчик показывает 4.
  3. Объяви let kettle = 1 и прочитай window.kettle. Колокольчик показывает undefined. Сам kettle по-прежнему 1.
  4. Прочитай typeof window.innerWidth. Колокольчик показывает number.
  5. Прочитай строку страницы: same / 4 / undefined / number.

Промахи у стойки

Колокольчик показывает одно из этих слов, не имя гостя.

  • Ждать, что window.kettle равен 1
  • Ждать, что window.cups равен undefined
  • Считать innerWidth текстом
  • Записать location.href и уйти со страницы
  • Прочитать строку как need guest / ok

Оставь это

  • window.document и document — один объект
  • var cups = 4 читается как window.cups
  • let kettle = 1 не создаёт window.kettle
  • typeof window.innerWidth — это number
  • Строка страницы — same / 4 / undefined / number

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
5
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху