aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/global_objects/index.html
blob: 1ac71c0b320ec076f9c7c553ad9e41bc54e5828c (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
---
title: JavaScript 标准内置对象
slug: Web/JavaScript/Reference/Global_Objects
tags:
  - JavaScript
  - Reference
  - 参考
  - 总览
translation_of: Web/JavaScript/Reference/Global_Objects
---
<div>{{JSSidebar("Objects")}}</div>

<p>本章介绍和说明了 JavaScript 中所有的标准内置对象、以及它们的方法和属性。</p>

<p>这里的术语"全局对象"(或标准内置对象)不应与<strong>global对象</strong>混淆。这里的"全局对象"指的是<strong>处在全局作用域里的多个对象</strong></p>

<p><strong>global对象</strong>可以在全局作用域里通过使用{{JSxRef("Operators/this", "this")}}访问到(但只有在 ECMAScript 5 的非严格模式下才可以,在严格模式下得到的是 {{JSxRef("undefined")}})。其实全局作用域<strong>包含</strong>全局对象中的属性,包括它可能继承来的属性。</p>

<p>全局作用域中的其他对象则可<a href="/zh-CN/docs/Web/JavaScript/Guide/Working_with_Objects#Creating_new_objects">由用户的脚本创建</a>,或由宿主程序提供。浏览器环境中所提供的宿主对象的说明可以在这里找到:<a href="/zh-CN/docs/Web/API">API 参考</a></p>

<p>要了解关于 <a href="/zh-CN/docs/Web/API/Document_Object_Model">DOM</a> 和核心 <a href="/zh-CN/docs/Web/JavaScript">JavaScript</a> 之间区别的更多信息,可参阅 <a href="/zh-CN/docs/Web/JavaScript/JavaScript_technologies_overview">JavaScript 技术概述</a></p>

<h2 id="标准内置对象分类">标准内置对象分类</h2>

<h3 id="值属性">值属性</h3>

<p>这些全局属性返回一个简单值,这些值没有自己的属性和方法。</p>

<ul>
 <li>{{JSxRef("Infinity")}}</li>
 <li>{{JSxRef("NaN")}}</li>
 <li>{{JSxRef("undefined")}}</li>
 <li>{{JSxRef("globalThis")}}</li>
</ul>

<h3 id="函数属性">函数属性</h3>

<p>全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。</p>

<div class="twocolumns">
<ul>
 <li>{{JSxRef("Global_Objects/eval", "eval()")}}</li>
 <li>{{JSxRef("Global_Objects/uneval", "uneval()")}}</li>
 <li>{{JSxRef("Global_Objects/isFinite", "isFinite()")}}</li>
 <li>{{JSxRef("Global_Objects/isNaN", "isNaN()")}}</li>
 <li>{{JSxRef("Global_Objects/parseFloat", "parseFloat()")}}</li>
 <li>{{JSxRef("Global_Objects/parseInt", "parseInt()")}}</li>
 <li>{{JSxRef("Global_Objects/decodeURI", "decodeURI()")}}</li>
 <li>{{JSxRef("Global_Objects/decodeURIComponent", "decodeURIComponent()")}}</li>
 <li>{{JSxRef("Global_Objects/encodeURI", "encodeURI()")}}</li>
 <li>{{JSxRef("Global_Objects/encodeURIComponent", "encodeURIComponent()")}}</li>
 <li><strong>已废弃</strong>
  <ul>
   <li>{{JSxRef("Global_Objects/escape", "escape()")}}</li>
   <li>{{JSxRef("Global_Objects/unescape", "unescape()")}}</li>
  </ul>
 </li>
</ul>
</div>

<h3 id="基本对象">基本对象</h3>

<p>顾名思义,基本对象是定义或使用其他对象的基础。基本对象包括一般对象、函数对象和错误对象。</p>

<ul>
 <li>{{JSxRef("Object")}}</li>
 <li>{{JSxRef("Function")}}</li>
 <li>{{JSxRef("Boolean")}}</li>
 <li>{{JSxRef("Symbol")}}</li>
</ul>

<h4 id="错误对象">错误对象</h4>

<p>错误对象是一种特殊的基本对象。它们拥有基本的 {{JSxRef("Error")}} 类型,同时也有多种具体的错误类型。</p>

<div class="twocolumns">
<ul>
 <li>{{JSxRef("Error")}}</li>
 <li>{{JSxRef("AggregateError")}}</li>
 <li>{{JSxRef("EvalError")}}</li>
 <li>{{JSxRef("InternalError")}}</li>
 <li>{{JSxRef("RangeError")}}</li>
 <li>{{JSxRef("ReferenceError")}}</li>
 <li>{{JSxRef("SyntaxError")}}</li>
 <li>{{JSxRef("TypeError")}}</li>
 <li>{{JSxRef("URIError")}}</li>
</ul>
</div>

<h3 id="数字和日期对象">数字和日期对象</h3>

<p>用来表示数字、日期和执行数学计算的对象。</p>

<ul>
 <li>{{JSxRef("Number")}}</li>
 <li>{{JSxRef("BigInt")}}</li>
 <li>{{JSxRef("Math")}}</li>
 <li>{{JSxRef("Date")}}</li>
</ul>

<h3 id="字符串">字符串</h3>

<p>用来表示和操作字符串的对象。</p>

<ul>
 <li>{{JSxRef("String")}}</li>
 <li>{{JSxRef("RegExp")}}</li>
</ul>

<h3 id="可索引的集合对象">可索引的集合对象</h3>

<p>这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。</p>

<div class="twocolumns">
<ul>
 <li>{{JSxRef("Array")}}</li>
 <li>{{JSxRef("Int8Array")}}</li>
 <li>{{JSxRef("Uint8Array")}}</li>
 <li>{{JSxRef("Uint8ClampedArray")}}</li>
 <li>{{JSxRef("Int16Array")}}</li>
 <li>{{JSxRef("Uint16Array")}}</li>
 <li>{{JSxRef("Int32Array")}}</li>
 <li>{{JSxRef("Uint32Array")}}</li>
 <li>{{JSxRef("Float32Array")}}</li>
 <li>{{JSxRef("Float64Array")}}</li>
 <li>{{JSxRef("BigInt64Array")}}</li>
 <li>{{JSxRef("BigUint64Array")}}</li>
</ul>
</div>

<h3 id="使用键的集合对象">使用键的集合对象</h3>

<p>这些集合对象在存储数据时会使用到键,包括可迭代的{{JSxRef("Map")}}{{JSxRef("Set")}},支持按照插入顺序来迭代元素。</p>

<ul>
 <li>{{JSxRef("Map")}}</li>
 <li>{{JSxRef("Set")}}</li>
 <li>{{JSxRef("WeakMap")}}</li>
 <li>{{JSxRef("WeakSet")}}</li>
</ul>

<h3 id="结构化数据">结构化数据</h3>

<p>这些对象用来表示和操作结构化的缓冲区数据,或使用 JSON (JavaScript Object Notation)编码的数据。</p>

<ul>
 <li>{{JSxRef("ArrayBuffer")}}</li>
 <li>{{JSxRef("SharedArrayBuffer")}}</li>
 <li>{{JSxRef("Atomics")}}</li>
 <li>{{JSxRef("DataView")}}</li>
 <li>{{JSxRef("JSON")}}</li>
</ul>

<h3 id="控制抽象对象">控制抽象对象</h3>

<p>控件抽象可以帮助构造代码,尤其是异步代码(例如,不使用深度嵌套的回调)。</p>

<ul>
 <li>{{JSxRef("Promise")}}</li>
 <li>{{JSxRef("Generator")}}</li>
 <li>{{JSxRef("GeneratorFunction")}}</li>
 <li>{{JSxRef("AsyncFunction")}}</li>
</ul>

<h3 id="反射">反射</h3>

<ul>
 <li>{{JSxRef("Reflect")}}</li>
 <li>{{JSxRef("Proxy")}}</li>
</ul>

<h3 id="国际化">国际化</h3>

<p>ECMAScript核心的附加功能,用于支持多语言处理。</p>

<div class="twocolumns">
<ul>
 <li>{{JSxRef("Intl")}}</li>
 <li>{{JSxRef("Global_Objects/Collator", "Intl.Collator")}}</li>
 <li>{{JSxRef("Global_Objects/DateTimeFormat", "Intl.DateTimeFormat")}}</li>
 <li>{{JSxRef("Global_Objects/ListFormat", "Intl.ListFormat")}}</li>
 <li>{{JSxRef("Global_Objects/NumberFormat", "Intl.NumberFormat")}}</li>
 <li>{{JSxRef("Global_Objects/PluralRules", "Intl.PluralRules")}}</li>
 <li>{{JSxRef("Global_Objects/RelativeTimeFormat", "Intl.RelativeTimeFormat")}}</li>
 <li>{{JSxRef("Global_Objects/Locale", "Intl.Locale")}}</li>
</ul>
</div>

<h3 id="WebAssembly">WebAssembly</h3>

<div class="twocolumns">
<ul>
 <li>{{JSxRef("WebAssembly")}}</li>
 <li>{{JSxRef("WebAssembly.Module")}}</li>
 <li>{{JSxRef("WebAssembly.Instance")}}</li>
 <li>{{JSxRef("WebAssembly.Memory")}}</li>
 <li>{{JSxRef("WebAssembly.Table")}}</li>
 <li>{{JSxRef("WebAssembly.CompileError")}}</li>
 <li>{{JSxRef("WebAssembly.LinkError")}}</li>
 <li>{{JSxRef("WebAssembly.RuntimeError")}}</li>
</ul>
</div>

<h3 id="其他">其他</h3>

<ul>
 <li>{{JSxRef("Functions/arguments", "arguments")}}</li>
</ul>