手机版

Javascript窗口对象的详细说明

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

首先看看我们的源代码。

复制代码如下:doctype HTML HTML Head Metacharset=' UTF-8 '/Title深刻理解JavaScript/Title Script Type=' text/JavaScript ' charset=' UTF-8 ' console . log(this);/script /head body h1深刻理解Javascript/h1 /body /html

我们知道,当通过浏览器打开这个页面时,脚本/script标签中包含的脚本将被执行。

然后我们来看看console.log(这个);这到底指的是谁?

我们在谷歌Chrome上看到了:

我们在Mozilla Firefox中看到了:

我们都看到输出窗口,那么这个窗口等于窗口吗?

然后我们的测试

复制的代码如下:脚本类型=' text/JavaScript ' charset=' utf-8 ' console . log(this);console.log('this==window '?这==窗口);/script

运行代码并输出这个==窗口?真,意思是Window==window,是真的吗?

为了了解它们之间的关系,我们继续进行测试

复制代码如下: script type=' text/JavaScript ' charset=' utf-8 ' console . log(' this=',this);console.log('this==window '?这个==window);console.log('window=',window);控制台.日志('窗口=',窗口)控制台.日志('窗口==窗口'?Window==Window)/脚本

看看浏览器输出:

谷歌Chrome :

Mozilla Firefox :

从输出中,我们可以推断出,

复制代码如下:指向窗口对象;这也等于窗口对象;窗口也指向窗口对象;Window指的是Window{},是浏览器提供的对象;窗口不等于窗口;

为什么会这样?

我们在浏览器控制台中查看窗口对象的结构;

原来的Window对象包含一些浏览器厂商实现的API,比如sessionStorage规范;在html5中;它还有一个window属性,这个属性值指向Window对象;我的理解:window对象是为浏览器厂商服务的,我们不能直接操作Window对象的属性,新增加的Window的API会在Window对象中体现出来;我们操作的窗口的属性将反映在窗口对象中。例如,定义一个全局变量window.a=' aaa

JavaScript的所有对象都存在于运行环境中,这也是一个对象,称为“顶层对象”。也就是说,JavaScript的所有对象都从属于“顶层对象”。不同的运行环境中有不同的“顶层对象”。在浏览器环境中,这个顶级对象是窗口对象。

所有浏览器环境的全局变量都是窗口对象的属性。

窗口可以理解为JavaScriptContext的上下文。

版权声明:Javascript窗口对象的详细说明是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。