Window.self
Свойство Window.self
доступно только для чтения и возвращает объект window в виде объекта WindowProxy
. Для доступа к данному свойству возможно использовать точечную нотацию и объект window
(window.self
) или переменную self
. Преимущество доступа через переменную self
заключается в том, что её можно использовать в окружениях, в которых нет window, например Web Workers
. Использование self
даёт возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае self
эквивалентна window.self
), но также в воркерах (в случае воркера self
эквивалентна WorkerGlobalScope.self
(en-US)).
Пример
В следующем примере window.self
точно также может быть заменено на window
.
if (window.parent.frames[0] != window.self) {
// этот window не является первым frame в списке
}
Кроме того, когда код выполняется в активном документе браузера, объект window
является ссылкой на текущий глобальный объект и таким образом:
var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// Значения переменных w1, w2, w3, w4 строго равны между собой
// Но только переменная w2 будет работать в workers
Спецификации
Specification | Status | Comment |
---|---|---|
HTML Living Standard Определение 'Window.self' в этой спецификации. |
Живой стандарт | No difference from the latest snapshot HTML 5.1 |
HTML 5.1 Определение 'Window.self' в этой спецификации. |
Рекомендация | No difference from the HTML5 |
HTML5 Определение 'Window.self' в этой спецификации. |
Рекомендация | First snapshot containing the definition of Window.self . |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Its
Worker
equivalent,WorkerGlobalScope.self
(en-US).