blob: 5635c4661d5baae272649401e6c1b4083d794b80 (
plain)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
---
title: 全局对象
slug: Glossary/Global_object
translation_of: Glossary/Global_object
---
<p>一个全局对象是一个永远存在于 {{glossary("global scope")}} 的 {{glossary("object")}}.</p>
<p>在 JavaScript 中, 有一个永远被定义的全局对象. 在一个 web 浏览器中, 当脚本创建全局变量时, 他们作为该全局对象的成员被创建. (在 {{Glossary("Node.js")}} 不是这样.) 全局对象的 {{Glossary("interface")}} 取决于脚本在其中运行的执行上下文. 例如:</p>
<ul>
<li>在Web浏览器中,脚本没有专门作为后台任务启动的任何代码都将{{domxref("Window")}} 作为其全局对象。这是Web上绝大多数的JavaScript代码。</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>
<h2 id="浏览器中的_window_对象">浏览器中的 <code>window</code> 对象</h2>
<p><code>window</code> 对象是浏览器中的全局对象。任何全局变量或者全局函数都可以通过 <code>window</code> 的属性来访问。</p>
<h3 id="访问全局变量">访问全局变量</h3>
<pre class="brush: js">var foo = "foobar";
foo === window.foo; // Returns: true
</pre>
<p>在定义全局变量 <code>foo</code> 之后,我们可以通过 <code>window</code> 对象的属性来访问它。把变量名 <code>foo</code> 作为全局对象的 <code>window</code><code>.foo</code> 的属性名来使用。</p>
<h4 id="解释:">解释:</h4>
<p>全局变量 <code>foo</code> 存储在 <code>window</code> 对象中,像这样:</p>
<pre class="brush: js">foo: "foobar"</pre>
<h3 id="访问全局函数">访问全局函数</h3>
<pre class="brush: js">function greeting() {
console.log("Hi!");
}
window.greeting(); // It is the same as the normal invoking: greeting();
</pre>
<p>上面解释了全局对象如果作为 <code>window</code> 对象的属性而存储的。我们创建了全局函数 <code>greeting</code> ,然后通过 <code>window</code> 对象来调用它。.</p>
<h4 id="解释:_2">解释:</h4>
<p>全局函数 <code>greeting</code> 存储在 <code>window</code> 对象中,像这样:</p>
<pre class="brush: js">greeting: function greeting() {
console.log("Hi!");
}</pre>
<section class="Quick_links" id="Quick_Links">
<ul>
<li><a href="/en-US/docs/Glossary">MDN Web Docs Glossary</a>
<ul>
<li>{{glossary("global scope")}}</li>
<li>{{glossary("object")}}</li>
</ul>
</li>
<li>{{domxref("Window")}}</li>
<li>{{domxref("WorkerGlobalScope")}}</li>
<li><code><a href="https://nodejs.org/api/globals.html#globals_global">global</a></code></li>
</ul>
</section>
|