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 表格仅在浏览器中加载
另请参阅
- 它的
Worker
等价物,WorkerGlobalScope.self
。