Сначала посмотрите на наш исходный код.
Кода -копия выглядит следующим образом:
<! Doctype html>
<html>
<голова>
<meta charset = "utf-8" />
<Title> подробное понимание JavaScript </title>
<script type = "text/javascript" charset = "utf-8">
console.log (это);
</script>
</head>
<тело>
<h1> подробное понимание javaScript </h1>
</body>
</html>
Мы знаем, что если вы откроете эту страницу через браузер, будут выполнены сценарии, содержащиеся в теге </script> </script>.
Тогда давайте посмотрим на Console.log (это); На кого это указывает?
В Google Chrome мы видим:
В Mozilla Firefox мы видим:
Мы все видим окно вывода, как окно и окна равны?
Далее наш тест
Кода -копия выглядит следующим образом:
<script type = "text/javascript" charset = "utf-8">
console.log (это);
console.log ('this == окно?', это окно ==);
</script>
Запустите код и выводите это окно ==? True, что означает Window == Window. Это действительно так?
Чтобы выяснить взаимосвязь между ними, мы продолжаем проверять
Кода -копия выглядит следующим образом:
<script type = "text/javascript" charset = "utf-8">
console.log ('this =', это);
console.log ('this == окно?', это окно ==);
console.log ('window =', window);
console.log ('window =', window)
console.log ('window == window?', window == window)
</script>
Просмотреть выход браузера:
Google Chrome:
Mozilla Firefox:
Из выходных результатов мы можем вывести,
Кода -копия выглядит следующим образом:
Это окно -объект;
Это также равно оконному объекту;
Окно также указывает на окно -объекты;
Окно является указывающим на окно {}, которое является объектом, предоставленным браузером;
Окно не равно окну;
Почему это происходит?
Мы просматриваем структуру оконных объектов в консоли браузера;
Оказывается, что у окна объект содержится некоторые API, реализованные производителями браузеров, такие как стандартное сеанс -станция в HTML5;
Он также имеет свойство окна, и значение этого свойства указывает на окно -объект;
Насколько я понимаю: окно -объекты обслуживают производителей браузеров. Мы не можем напрямую манипулировать свойствами оконных объектов. Недавно добавленные API окна будут отражены в окне;
Свойства, которые мы работаем в окне, будут отражены в окне.
Например, определите глобальную переменную window.a = 'aaa';
Все объекты в JavaScript существуют в управляемой среде, которая также является объектом, называемым «объектом верхнего уровня». Это означает, что все объекты в JavaScript являются подчиненными «объектами верхнего уровня». Разные операционные среды имеют разные «объекты верхнего уровня». В среде браузера этот объект верхнего уровня представляет собой окно-объект.
Все глобальные переменные браузера являются свойствами оконных объектов.
Windows можно понять как контекстная среда JavaScriptContext.