-
Notifications
You must be signed in to change notification settings - Fork 8k
/
index.md
41 lines (28 loc) · 2.12 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
title: Window.self
slug: Web/API/Window/self
---
{{ APIRef() }}
Свойство **`Window.self`** доступно только для чтения и возвращает объект window в виде объекта {{domxref("WindowProxy")}}. Для доступа к данному свойству возможно использовать точечную нотацию и объект `window` (`window.self`) или переменную `self`. Преимущество доступа через переменную `self` заключается в том, что её можно использовать в окружениях, в которых нет window, например {{domxref("Worker", "Web Workers")}}. Использование `self` даёт возможность обращаться к глобальному объекту не только в окружениях где есть window (в таком случае `self` эквивалентна `window.self`), но также в воркерах (в случае воркера `self` эквивалентна {{domxref("WorkerGlobalScope.self")}}).
## Пример
В следующем примере `window.self` точно также может быть заменено на `window`.
```js
if (window.parent.frames[0] != window.self) {
// этот window не является первым frame в списке
}
```
Кроме того, когда код выполняется в активном документе браузера, объект `window` является ссылкой на текущий глобальный объект и таким образом:
```js
var w1 = window;
var w2 = self;
var w3 = window.window;
var w4 = window.self;
// Значения переменных w1, w2, w3, w4 строго равны между собой
// Но только переменная w2 будет работать в workers
```
## Спецификации
{{Specifications}}
## Совместимость с браузерами
{{Compat}}
## Смотрите также
- Its `Worker` equivalent, {{domxref("WorkerGlobalScope.self")}}.