{{ APIRef() }}
The Window.self
read-only property returns the window itself, as a {{domxref("WindowProxy")}}. It can be used with dot notation on a window
object (that is, window.self
) or standalone (self
). The advantage of the standalone notation is that a similar notation exists for non-window contexts, such as in {{domxref("Worker", "Web Workers")}}. By using self
, you can refer to the global scope in a way that will work not only in a window context (self
will resolve to window.self
) but also in a worker context (self
will then resolve to {{domxref("WorkerGlobalScope.self")}}).
Syntax
var w = window.self; // w === window
Example
Uses of window.self
like the following could just as well be replaced by window
.
if (window.parent.frames[0] != window.self) { // this window is not the first frame in the list }
Furthermore, when executing in the active document of a browsing context, window
is a reference to the current global object and thus all of the following are equivalent:
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
Specifications
Specification | Status | Comment |
---|---|---|
{{SpecName('HTML WHATWG', '#dom-self', 'Window.self')}} | {{Spec2('HTML WHATWG')}} | No difference from the latest snapshot {{SpecName("HTML5.1")}} |
{{SpecName('HTML5.1', 'browsers.html#dom-self', 'Window.self')}} | {{Spec2('HTML5.1')}} | No difference from the {{SpecName("HTML5 W3C")}} |
{{SpecName('HTML5 W3C', 'browsers.html#dom-self', 'Window.self')}} | {{Spec2('HTML5 W3C')}} | First snapshot containing the definition of Window.self . |
Browser compatibility
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} | {{ CompatVersionUnknown() }} |
See also
- Its
Worker
equivalent, {{domxref("WorkerGlobalScope.self")}}.