可能重复:
JS 窗口全局对象
有人可以帮我理解这个window
对象是如何工作的吗?
我知道它是顶级对象,并且该window
对象代表浏览器中的打开窗口。
有人可以帮助我更多地了解它吗?window
也许是关于该对象的链接或小解释?我知道它具有所有对象属性和方法。我告诉 bean 可以通过调用来重新创建window.constructor
并获取它的本机代码,这也是获取对象实例的唯一方法。
如果有人能帮助我获得更多关于它的信息,我会很高兴。
可能重复:
JS 窗口全局对象
有人可以帮我理解这个window
对象是如何工作的吗?
我知道它是顶级对象,并且该window
对象代表浏览器中的打开窗口。
有人可以帮助我更多地了解它吗?window
也许是关于该对象的链接或小解释?我知道它具有所有对象属性和方法。我告诉 bean 可以通过调用来重新创建window.constructor
并获取它的本机代码,这也是获取对象实例的唯一方法。
如果有人能帮助我获得更多关于它的信息,我会很高兴。
该window
对象实际上是两件事:
基于浏览器的 JavaScript 的全局对象。所有本机对象和方法(Array
, String
, setTimeout()
)以及您在任何函数范围之外声明的任何内容都进入window
对象。要对此进行测试,请尝试打开 JavaScript 控制台并检查:
window.String === String
// Returns true
该window
对象还处理浏览器窗口。window.innerWidth
是窗口的宽度;window.onresize
是在窗口调整大小时触发的函数。因为它是“最顶层”的对象,你也可以说innerWidth
获取窗口的宽度。
一般来说,引用 writewindow.location
而不是仅仅引用location
. 尽管它们会在很多时候工作,但有时您会遇到这样的情况(您不希望出现这种情况!):
function something() {
var location = 'the moon';
location.reload(); // Should be window.location.reload()
}
在上面的示例中,您可能打算刷新window.location
而不是location
此函数内部的范围。
这就是窗口对象!