返回介绍

标准内置对象分类

发布于 2024-09-16 11:47:10 字数 3214 浏览 0 评论 0 收藏 0

值属性

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

  • Infinity
  • NaN
  • undefined
  • globalThis

函数属性

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

  • eval()
  • uneval()
  • isFinite()
  • isNaN()
  • parseFloat()
  • parseInt()
  • decodeURI()
  • decodeURIComponent()
  • encodeURI()
  • encodeURIComponent()

基本对象

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

  • Object
  • Function
  • Boolean
  • Symbol

错误对象

错误对象是一种特殊的基本对象。它们拥有基本的 Error 类型,同时也有多种具体的错误类型。

  • Error
  • AggregateError
  • EvalError
  • InternalError
  • RangeError
  • ReferenceError
  • SyntaxError
  • TypeError
  • URIError

数字和日期对象

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

  • Number
  • BigInt
  • Math
  • Date

字符串

用来表示和操作字符串的对象。

  • String
  • RegExp

可索引的集合对象

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

  • Array
  • Int8Array
  • Uint8Array
  • Uint8ClampedArray
  • Int16Array
  • Uint16Array
  • Int32Array
  • Uint32Array
  • Float32Array
  • Float64Array
  • BigInt64Array
  • BigUint64Array

使用键的集合对象

这些集合对象在存储数据时会使用到键,包括可迭代的 Map 和 Set,支持按照插入顺序来迭代元素。

  • Map
  • Set
  • WeakMap
  • WeakSet

结构化数据

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

  • ArrayBuffer
  • SharedArrayBuffer
  • Atomics
  • DataView
  • JSON

控制抽象对象

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

  • Promise
  • Generator
  • GeneratorFunction
  • AsyncFunction

反射

  • Reflect
  • Proxy

国际化

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

  • Intl
  • Intl.Collator
  • Intl.DateTimeFormat
  • Intl.ListFormat
  • Intl.NumberFormat
  • Intl.PluralRules
  • Intl.RelativeTimeFormat
  • Intl.Locale

WebAssembly-

  • WebAssembly
  • WebAssembly.Module
  • WebAssembly.Instance
  • WebAssembly.Memory
  • WebAssembly.Table
  • WebAssembly.CompileError
  • WebAssembly.LinkError (en-US)
  • WebAssembly.RuntimeError

其他

  • arguments

给定 undefined 和 null 类型使用 Object

下面的例子将一个空的 Object 对象存到 o 中:

var o = new Object();

var o = new Object(undefined);

var o = new Object(null);

使用 Object 生成布尔对象

下面的例子将 Boolean 对象存到 o 中:

// 等价于 o = new Boolean(true);
var o = new Object(true);

// 等价于 o = new Boolean(false);
var o = new Object(Boolean());

当我们要修改现有的 Object.prototype 方法时,请你考虑一下在已经存在的逻辑之前或者之后通过包装扩展代码的方式来注入代码。 比如说,有一段代码将会在执行内部逻辑或者是其他扩展之前,有条件的执行一段自定义的逻辑。

当一个函数被调用时,调用的参数被保存在一个类似数组的“变量” arguments。 比如说:在调用 myFn(a, b, c) 时,myFunc 函数体中的 arguments 将会包含三个类似数组的元素,对应 (a, b , c)

当使用钩子修改原型时,通过调用函数的 apply() 将此参数和参数(调用状态) 传递给当前行为。此模式可用于任何原型,例如 Node。原型,函数。原型等。


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文