Властивість Window.self
, доступна лише для читання, повертає window як WindowProxy
. Її можна використовувати через крапку на об'єкті window
(а саме, window.self
) або автономно (self
). Перевага автономного запису в тому, що схожий запис існує для не window контексту, наприклад у Web Workers. Використовуючи self
, ви можете звертатись до глобальної області видимості таким чином, що звернення працюватиме не лише в контексті window (self
дорівнюватиме window.self
), але також у контексті worker (тоді self
дорівнюватиме WorkerGlobalScope.self
).
Приклад
Наступне використання window.self
можна також замінити на window
.
if (window.parent.frames[0] != window.self) {
// це вікно не є першим фреймом у списку
}
Більше того, при використанні у активному документі контексту перегляду window
- це посилання на поточний глобальний об'єкт, і таким чином, усе перечислене є еквівалентним:
var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// w1, w2, w3, w4 є строго рівними, та лише w2 функціонуватиме у workers
Специфікації
Специфікація | Статус | Коментар |
---|---|---|
HTML Living Standard The definition of 'Window.self' in that specification. |
Living Standard | Немає змін від останнього знімку HTML 5.1 |
HTML 5.1 The definition of 'Window.self' in that specification. |
Recommendation | Немає змін від HTML5 |
HTML5 The definition of 'Window.self' in that specification. |
Recommendation | Перший знімок, що містить визначення Window.self . |
Сумісність з веб-переглядачами
BCD tables only load in the browser
Див. також
- Еквівалент властивості
Worker
,WorkerGlobalScope.self
.