--- 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><span class="tlid-translation translation" lang="zh-CN"><span title="">ECMAScript核心的附加功能,用于</span></span>支持多语言处理<span class="tlid-translation translation" lang="zh-CN"><span title="">。</span></span></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>