什么决定了JavaScript函数看到的DOM(“窗口”全局)?

什么决定了JavaScript函数看到的DOM(“窗口”全局)?,javascript,dom,iframe,Javascript,Dom,Iframe,我们的web平台使用iFrame在桌面类型设置中托管子窗口。因为它们托管在同一个url上,所以这些DOM可以相互通信。然而,我看到了一些奇怪的情况,其中一个子窗口中的函数调用正在切换到全局DOM,我试图找出是什么决定了窗口全局将指向什么 我假设它是在任何DOM下创建的对象,但这里的情况似乎不是这样,因为我在子DOM中创建的对象上调用函数,但它是在父(全局)DOM的上下文中执行的 我正在使用window===window.top来确定当前上下文是子DOM还是顶级DOM,并且可以准确跟踪调用在什么时

我们的web平台使用iFrame在桌面类型设置中托管子窗口。因为它们托管在同一个url上,所以这些DOM可以相互通信。然而,我看到了一些奇怪的情况,其中一个子窗口中的函数调用正在切换到全局DOM,我试图找出是什么决定了
窗口
全局将指向什么

我假设它是在任何DOM下创建的对象,但这里的情况似乎不是这样,因为我在子DOM中创建的对象上调用函数,但它是在父(全局)DOM的上下文中执行的


我正在使用
window===window.top
来确定当前上下文是子DOM还是顶级DOM,并且可以准确跟踪调用在什么时候切换到不同的DOM,但我无法找出是什么导致了DOM上下文中的这种变化。

您能提供一个具体的例子吗?我不确定我是否完全理解这个问题。可能是
窗口
定义了这个函数?如果函数在词汇上接近全局,而不是进行某种查找链,这会有一定的意义。事实上,经过一些调查,我认为该对象实际上是在另一个DOM中创建的,因此我的假设可能是正确的。让你更困惑的是,
window
和匿名
全局对象之间存在差异。
全局对象包含一个名为
window
的属性,该属性指向自身。但是--在iframe中创建的对象将引用iframe的全局对象。这就是检查实例和继承失败的原因。