js内置对象的分类

我们都知道,JavaScript有3大对象,分别是本地对象、内置对象和宿主对象

本地对象
  • 这些引用类型在运行过程中需要通过new来创建所需的实例对象。
  • 包含:Object、Array、Date、RegExp、Function、Boolean、Number、String等。
内置对象
  • 内置对象是本地对象的子集。
  • 包含:Global和Math

宿主对象

  • 由 ECMAScript 实现的宿主环境提供的对象,包含两大类,一个是宿主提供,一个是自定义类对象。
  • 所有非本地对象都属于宿主对象。
  • 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如Window和Document等。
  • 所有的DOM和BOM对象都属于宿主对象。

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

标准内置对象的分类

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

例如 Infinity、NaN、undefined、null 字面量

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

例如 eval()、parseFloat()、parseInt() 等

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

例如 Object、Function、Boolean、Symbol、Error 等

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

例如 Number、Math、Date

(5)字符串,用来表示和操作字符串的对象。

例如 String、RegExp

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

例如 Array

(7)使用键的集合对象,这些集合对象在存储数据时会使用到键,支持按照插入顺序来迭代元素。

例如 Map、Set、WeakMap、WeakSet

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

例如 JSON 、ArrayBuffer等

(9)控制抽象对象

例如 Promise、Generator、GeneratorFunction、AsyncFunction

(10)反射

例如 Reflect、Proxy

(11)国际化,为了支持多语言处理而加入 ECMAScript 的对象。

例如 Intl、Intl.CollatorIntl、DateTimeFormat、Intl.ListFormat 等

(12)其他

例如 arguments

js 中的内置对象主要指的是在程序执行前存在全局作用域里的由 js 定义的一些全局值属性、函数和用来实例化其他对象的构造函数对象。

参考文章:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects

你可能感兴趣的:(javascript)