Appearance
JavaScript 标准内置对象概述
参考:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects
术语“全局对象”(或标准内置对象)不应与 global 对象混淆。这里的“全局对象”指的是处在全局作用域里的多个对象。
值属性
这些全局属性返回一个简单值,这些值没有自己的属性和方法。
globalThisInfinityNaNundefined
函数属性
全局函数可以直接调用,不需要在调用时指定所属对象,执行结束后会将结果直接返回给调用者。
eval()isFinite()isNaN()parseFloat()parseInt()decodeURI()decodeURIComponent()encodeURI()encodeURIComponent()escape()已弃用unescape()已弃用
基本对象
基本对象是定义或使用其他对象的基础。
ObjectFunctionBooleanSymbol
错误对象
错误对象是一种特殊的基本对象。它们拥有基本的 Error 类型,同时也有多种具体的错误类型。
ErrorAggregateErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIErrorInternalError非标准
数字和日期对象
用来表示数字、日期和执行数学计算的对象。
NumberBigIntMathDate
字符串
这些对象表示字符串并支持操作字符串。
StringRegExp
可索引的集合对象
这些对象表示按照索引值来排序的数据集合,包括数组和类型数组,以及类数组结构的对象。
ArrayInt8ArrayUint8ArrayUint8ClampedArrayInt16ArrayUint16ArrayInt32ArrayUint32ArrayBigInt64ArrayBigUint64ArrayFloat32ArrayFloat64Array
使用键的集合对象
这些集合对象在存储数据时会使用到键,包括可迭代的 Map 和 Set,支持按照插入顺序来迭代元素。
MapSetWeakMapWeakSet
结构化数据
这些对象用来表示和操作结构化的缓冲区数据,或使用 JSON(JavaScript Object Notation)编码的数据。
ArrayBufferSharedArrayBufferAtomicsDataViewJSON
内存管理对象
这些对象会与垃圾回收机制产生交互。
WeakRefFinalizationRegistry
控制抽象对象
控件抽象对象可以帮助构造代码,尤其是异步代码(例如不使用深度嵌套的回调)。
IteratorAsyncIteratorPromiseGeneratorFunctionAsyncGeneratorFunctionGeneratorAsyncGeneratorAsyncFunction
反射
ReflectProxy
国际化
ECMAScript 核心的附加功能,用于支持多语言处理。
IntlIntl.CollatorIntl.DateTimeFormatIntl.DisplayNamesIntl.DurationFormatIntl.ListFormatIntl.LocaleIntl.NumberFormatIntl.PluralRulesIntl.RelativeTimeFormatIntl.Segmenter
Intl.NumberFormat
Intl.NumberFormat 是一个用于格式化数字的 JavaScript 国际化 API。它使开发人员可以根据用户的语言环境和地区设置自定义数字格式。这意味着可以使用该 API 来格式化数字,以便在不同的语言和地区中进行显示。
基础使用
Intl.NumberFormat 基本的使用示例,用于格式化一个数字:
js
const number = 123456.789
const formatter = new Intl.NumberFormat()
console.log(formatter.format(number)) // 输出结果:123,456.789在上面的示例中,首先定义了一个数字变量 number,然后创建了一个 Intl.NumberFormat 实例,并将其存储在变量 formatter 中。最后使用 formatter.format() 方法来格式化数字,并将结果打印到控制台中。此示例没有提供任何参数来创建 Intl.NumberFormat 实例。这意味着它将使用默认设置来格式化数字。
构造实例参数
通过参数,可以创建自定义格式:
locale:用于格式化数字的语言环境。默认值为当前用户的语言环境。style:数字格式的样式。可以是decimal(十进制)、currency(货币)或percent(百分比)。默认值为decimal。currency:如果样式为currency,则使用的货币代码。默认值为当前用户的货币代码。currencyDisplay:如果样式为currency,则货币符号的显示位置。可以是symbol(符号)、code(代码)或name(名称)。默认值为symbol。minimumIntegerDigits:数字的最小整数位数。默认值为 1。minimumFractionDigits:数字的最小小数位数。默认值为 0。maximumFractionDigits:数字的最大小数位数。默认值为 3。minimumSignificantDigits:数字的最小有效数字位数。默认值为 1。maximumSignificantDigits:数字的最大有效数字位数。默认值为 21。
js
const number = 123456.789
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
console.log(formatter.format(number)) // 输出结果:$123,456.79以上示例使用了 en-US 作为语言环境,并将样式设置为 currency。还指定了货币代码为 USD,最小小数位数为 2,最大小数位数为 2。这使得输出结果为美元货币格式。
货币格式化
货币格式化是将数字格式化为特定货币的格式。使用 Intl.NumberFormat 可以轻松地将数字格式化为任何货币,并在不同的语言环境中进行显示。例如将格式化数字为美元货币格式:
js
const number = 1234.56
const formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
})
console.log(formatter.format(number)) // 输出结果:$1,234.56示例中,使用了 en-US 作为语言环境,并将样式设置为 currency,还指定了货币代码为 USD。此时输出结果为美元货币格式。
小数格式化
Intl.NumberFormat 可以将数字格式化为任何特定小数位数的格式,并在不同的语言环境中进行显示。例如将格式化数字为只有两个小数位:
js
const number = 1234.567
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
console.log(formatter.format(number)) // 输出结果:1,234.57示例中使用了 en-US 作为语言环境,并将最小小数位数和最大小数位数都设置为 2。此时输出结果只有两个小数位。
整数格式化
Intl.NumberFormat 可以将数字格式化为特定整数位数的格式,并在不同的语言环境中进行显示。例如将格式化数字为只有四个整数位:
js
const number = 12345.6789
const formatter = new Intl.NumberFormat('en-US', {
minimumIntegerDigits: 4,
})
console.log(formatter.format(number)) // 输出结果:12,346示例中使用了 en-US 作为语言环境,并将最小整数位数设置为 4。此时输出结果只有四个整数位。
百分比格式化
Intl.NumberFormat 可以将数字格式化为任何百分比格式,并在不同的语言环境中进行显示。例如将格式化数字为百分比格式:
js
const number = 0.75
const formatter = new Intl.NumberFormat('en-US', {
style: 'percent',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
})
console.log(formatter.format(number)) // 输出结果:75.00%示例中使用了 en-US 作为语言环境,并将样式设置为 percent,还指定了最小小数位数为 2,最大小数位数为 2。此时输出结果为百分比格式。
计数格式化
Intl.NumberFormat 可以将数字格式化为任何计数形式的格式,并在不同的语言环境中进行显示。例如将格式化数字为计数形式的格式:
js
const number = 12345
const formatter = new Intl.NumberFormat('en-US', {
notation: 'compact',
})
console.log(formatter.format(number)) // 输出结果:12K多语言支持
Intl.NumberFormat 还支持多语言。使用该 API 可以根据用户的语言环境设置数字格式。例如将格式化数字为德语货币格式:
js
const number = 123456.789
const formatter = new Intl.NumberFormat('de-DE', {
style: 'currency',
currency: 'EUR',
})
console.log(formatter.format(number)) // 输出结果:123.456,79 €示例中使用了 de-DE 作为语言环境,并将样式设置为 currency,还指定了货币代码为 EUR。此时输出结果为德语货币格式。