-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
JavaScript有3大对象,分别是本地对象、内置对象和宿主对象。
在此引用ECMA-262(ECMAScript的制定标准)对于他们的定义:
-
本地对象
- 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象。
- 这些引用类型在运行过程中需要通过new来创建所需的实例对象。
- 包含:
Object
、Array
、Function
、Boolean
、Number
、String
、Date
、RegExp
等。
-
内置对象
- 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象。
- 在 ECMAScript 程序开始执行前就存在,本身就是实例化内置对象,开发者无需再去实例化。
- 内置对象是本地对象的子集。
- 包含:Global和Math。
-
宿主对象
- 由 ECMAScript 实现的宿主环境提供的对象,包含两大类,一个是宿主提供,一个是自定义类对象。
- 所有非本地对象都属于宿主对象。
- 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如
Window
和Document
等。 - 所有的DOM和BOM对象都属于宿主对象。
很多时候,干脆也会直接把本地对象和内置对象统称为“内置对象”,也就是说除了宿主对象,剩下的都是ECMAScript的内部的“内置”对象。