码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2020-06-06 15:39:20      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:nbsp   专业   json   引用   blank   target   ring   执行   native   

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的内部的“内置”对象。

 

原生对象关系:

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

 

 

本地对象

 

内置对象

 

宿主对象

  • DOM 对象属性和方法(todo)
  • BOM 对象属性和方法(todo)

 

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

标签:nbsp   专业   json   引用   blank   target   ring   执行   native   

原文地址:https://www.cnblogs.com/elfpower/p/12711330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!