-4

可能重复:
JS 窗口全局对象

有人可以帮我理解这个window对象是如何工作的吗?

我知道它是顶级对象,并且该window对象代表浏览器中的打开窗口。

有人可以帮助我更多地了解它吗?window也许是关于该对象的链接或小解释?我知道它具有所有对象属性和方法。我告诉 bean 可以通过调用来重新创建window.constructor并获取它的本机代码,这也是获取对象实例的唯一方法。

如果有人能帮助我获得更多关于它的信息,我会很高兴。

4

1 回答 1

4

window对象实际上是两件事:

  1. 基于浏览器的 JavaScript 的全局对象。所有本机对象和方法(Array, String, setTimeout())以及您在任何函数范围之外声明的任何内容都进入window对象。要对此进行测试,请尝试打开 JavaScript 控制台并检查:

    window.String === String
    // Returns true
    
  2. 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此函数内部的范围。

这就是窗口对象!

于 2012-04-06T00:24:18.590 回答