window属性:self
self属性
该Window.self只读属性返回window本身,作为一个WindowProxy。它可以与window对象(即window.self)或独立(self)上的点表示法一起使用。独立表示法的优点是对于非窗口上下文存在类似的表示法,例如Web Workers。通过使用self,您可以用一种不仅在窗口上下文(self将解析为window.self)中工作的方式引用全局范围,而且还可以在worker上下文中工作(self然后将解析为WorkerGlobalScope.self)。
self属性语法
var w = window.self; // w === window
self属性示例
如下所示的使用window.self也可以被window替换:
if (window.parent.frames[0] != window.self) {
// this window is not the first frame in the list
}
此外,当在浏览上下文的活动文档中执行时,window是对当前全局对象的引用,因此以下所有内容都是等效的:
var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// w1, w2, w3, w4 all strictly equal, but only w2 will function in workers
规范
规范 | 状态 | 注释 |
---|---|---|
HTML Living Standard 该规范中“Window.self”的定义。 |
Living Standard
|
与最新的HTML 5.1快照没有区别 |
HTML 5.1 该规范中“Window.self”的定义。 |
Recommendation
|
与HTML5没有区别 |
HTML5 该规范中“Window.self”的定义。 |
Recommendation
|
包含定义的第一个快照Window.self 。 |
浏览器兼容性
电脑端 | 移动端 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome
|
Edge
|
Firefox
|
Internet Explorer
|
Opera
|
Safari
|
Android webview | Chrome for Android
|
Edge Mobile | Firefox for Android
|
Opera for Android
|
iOS Safari | |
基本支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |