JS 三大对象 (本地对象内置对象 宿主对象)
Posted 泰坦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 三大对象 (本地对象内置对象 宿主对象)相关的知识,希望对你有一定的参考价值。
看了一些 javascript 相关的书并且在国内外网站查阅了很多相关的知识,做一下有关 JavaScript 的记录,文章会不断细化、优化,如有新的感悟或版本更替也会逐渐修改,以求不断精进及对自己帮助很大的互联网环境有所反馈。JavaScript 有3大对象,分别是本地对象、内置对象和宿主对象,以下主要记录各对象的异同及其属性或方法的使用示例。
根据 ECMA-262(ECMAScript的制定标准)对于他们的定义:
- 本地对象 ( native object )
- 由 ECMAScript 实现提供并独立于宿主环境的任何对象。
- 本地对象可以理解为 ECMA-262 定义的类(引用类型)。
- 这些引用类型在运行过程中需要通过new来创建所需的实例对象。
- 包含:
Object
、String、Array
、Date
、Number
、RegExp
、Function
、Boolean
、Error
等。
- 内置对象 ( built-in object )
- 由 ECMAScript 实现提供并独立于宿主环境的,在程序开始执行就出现的对象。
- 本身就是实例化对象,开发者无需再去实例化。
- 所有内置对象都是本地对象的子集。
- 包含:
Global
和Math
。 - ECMAScript5中增添了
JSON
这个存在于全局的内置对象。
- 宿主对象 ( host object )
- 由 ECMAScript 实现的宿主环境(如某浏览器)提供的对象(如由浏览器提供的 Window 和 Document),包含两大类,一个是宿主提供,一个是自定义类对象。
- 所有非本地对象都属于宿主对象。
- 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如
Window
和Document
等。 - 包含:DOM 、BOM和自定义对象。
关于专业名词:本地对象也经常被叫做原生对象或内部对象,包含Global和Math在内的内置对象在《JavaScript高级程序设计》里也被叫做单体内置对象,很多时候,干脆也会直接把本地对象和内置对象(标准内置对象)统称为“内置对象”,也就是说除了宿主对象,剩下的都是ECMAScript的内部的“内置”对象。
JavaScript 三大对象关系:
- 宿主对象(DOM、BOM、自定义)
- 内置对象
- 本地对象(Array、String、Date等需new出来的)
- 标准内置对象(Global、Math、JSON)
JavaScript 中的三大对象 (本地对象、内置对象、 宿主对象)
本地对象
- Object 对象属性和方法
- String 对象属性和方法
- Array 对象属性和方法
- Date 对象属性和方法
- Number 对象属性和方法
- RegExp 对象属性和方法
- Function 对象属性和方法
- Boolean 对象属性和方法
- Error 对象属性和方法
内置对象
宿主对象
以上是关于JS 三大对象 (本地对象内置对象 宿主对象)的主要内容,如果未能解决你的问题,请参考以下文章