Window: self 属性
Window.self 只读属性返回窗口本身,为一个 WindowProxy 对象。可以通过点表示法在 window 对象上使用(即 window.self),或者独立使用(self)。独立表示法的优点是,在非窗口上下文中存在类似的表示法,例如在 Web Workers 中。通过使用 self,您可以以一种不仅能在窗口上下文中工作(self 将解析为 window.self),而且也能在 worker 上下文中工作(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 |
浏览器兼容性
加载中…
另见
- 其
Worker等价物是WorkerGlobalScope.self。