Window: self 属性

Window.self 只读属性返回窗口本身,作为一个 WindowProxy。它可以与 window 对象上的点符号一起使用(即 window.self)或独立使用(self)。独立表示法的优点是,类似的表示法存在于非窗口上下文中,例如在 Web Workers 中。通过使用 self,您可以以一种不仅在窗口上下文中(self 将解析为 window.self)而且在工作线程上下文中(self 将解析为 WorkerGlobalScope.self)都能起作用的方式来引用全局作用域。

一个 WindowProxy 对象。

示例

像下面这样使用 window.self 可以用 window 替换。

js
if (window.parent.frames[0] !== window.self) {
  // this window is not the first frame in the list
}

此外,在浏览上下文活动文档中执行时,window 是对当前全局对象的引用,因此以下所有内容都是等效的

js
const w1 = window;
const w2 = self;
const w3 = window.window;
const w4 = window.self;
// w1, w2, w3, w4 all strictly equal, but only w2 will function in workers

规范

规范
HTML 标准
# dom-self-dev

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅