JS 三大对象 (本地对象内置对象 宿主对象)

Posted 泰坦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 三大对象 (本地对象内置对象 宿主对象)相关的知识,希望对你有一定的参考价值。

看了一些 javascript 相关的书并且在国内外网站查阅了很多相关的知识,做一下有关 JavaScript 的记录,文章会不断细化、优化,如有新的感悟或版本更替也会逐渐修改,以求不断精进及对自己帮助很大的互联网环境有所反馈。JavaScript 有3大对象,分别是本地对象、内置对象和宿主对象,以下主要记录各对象的异同及其属性或方法的使用示例。

根据 ECMA-262(ECMAScript的制定标准)对于他们的定义:

  • 本地对象 ( native object )
    • 由 ECMAScript 实现提供并独立于宿主环境的任何对象。
    • 本地对象可以理解为 ECMA-262 定义的类(引用类型)。
    • 这些引用类型在运行过程中需要通过new来创建所需的实例对象。
    • 包含:ObjectString、ArrayDateNumberRegExpFunctionBooleanError等。
  • 内置对象 ( built-in object )
    • 由 ECMAScript 实现提供并独立于宿主环境的,在程序开始执行就出现的对象。
    • 本身就是实例化对象,开发者无需再去实例化。
    • 所有内置对象都是本地对象的子集。
    • 包含:GlobalMath
    • ECMAScript5中增添了JSON这个存在于全局的内置对象。
  • 宿主对象 ( host object )
    • 由 ECMAScript 实现的宿主环境(如某浏览器)提供的对象(如由浏览器提供的 Window 和 Document),包含两大类,一个是宿主提供,一个是自定义类对象。
    • 所有非本地对象都属于宿主对象。
    • 对于嵌入到网页中的JS来说,其宿主对象就是浏览器提供的对象,浏览器对象有很多,如WindowDocument等。
    • 包含:DOM 、BOM和自定义对象。

关于专业名词:本地对象也经常被叫做原生对象或内部对象,包含Global和Math在内的内置对象在《JavaScript高级程序设计》里也被叫做单体内置对象,很多时候,干脆也会直接把本地对象和内置对象(标准内置对象)统称为“内置对象”,也就是说除了宿主对象,剩下的都是ECMAScript的内部的“内置”对象。

 

JavaScript 三大对象关系:

  • 宿主对象(DOM、BOM、自定义)
  • 内置对象
    • 本地对象(Array、String、Date等需new出来的)
    • 标准内置对象(Global、Math、JSON)

 

 

 

JavaScript 中的三大对象 (本地对象、内置对象、 宿主对象)

本地对象

 

内置对象

 

宿主对象

 

以上是关于JS 三大对象 (本地对象内置对象 宿主对象)的主要内容,如果未能解决你的问题,请参考以下文章

JS所有内置对象属性和方法汇总

js高级---本地对象内置对象宿主对象

markdown JS本地对象内置对象宿主对象

JS中的本地对象,内置对象和宿主对象

JavaScript的本地对象内置对象宿主对象

什么叫宿主对象