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
|
---
title: Глобальний об'єкт
slug: Glossary/Global_object
tags:
- JavaScript
- Словник
translation_of: Glossary/Global_object
---
<p><span class="seoSummary">Глобальний об'єкт — це {{glossary("object", "об'єкт")}}, що є носієм чи то пак виразником {{glossary("global scope", "глобальної області видимості")}}.</span></p>
<p>В JavaScript глобальний об'єкт завжди визначено. У веб-переглядачах створювані скриптами глобальні змінні насправді є властивостями цього об'єкта (натомість, у середовищі {{Glossary("node.js")}} це не так). {{Glossary("interface", "Інтерфейс")}} глобального об'єкта залежить від контексту виконання скрипта:</p>
<ul>
<li>В переглядачах всякий код, окрім коду фонових задач, має {{domxref("Window")}} за глобальний об'єкт. Це стосується переважної більшості JavaScript-коду {{glossary("тенета", "тенет")}};</li>
<li>Код, виконуваний всередині {{domxref("Worker")}}, має примірник {{domxref("WorkerGlobalScope")}} за глобальний об'єкт;</li>
<li>Код, виконуваний в середовищі {{Glossary("node.js")}}, має відповідний об'єкт з ім'ям <code><a href="https://nodejs.org/api/globals.html#globals_global">global</a></code>.</li>
</ul>
<h3 id="Об'єкт_window_в_перегядачі">Об'єкт <code>window</code> в перегядачі</h3>
<p>Веб-переглядач має <code>window</code> за глобальний об'єкт, тож будь-яка глобальна змінна чи функція є водночас властивістю об'єкта <code>window</code>. Наведений нижче приклад засвідчує, що оголошення змінної в глобальній області видимості створює у <code>window</code> нову властивість:</p>
<pre class="brush: js">var foo = 'Дещось';
foo === window.foo; // Вертає true
console.log(window.foo); // Виводить "Дещось"</pre>
<p>Те саме стосується оголошень функцій:</p>
<pre class="brush: js">function greeting() {
console.log('Отакої');
}
// Те саме, що й простий виклик greeting()
window.greeting();</pre>
|