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

 

Смотрите также