【JS基础】(十三)JavaScript三大对象两类属性

ECMAScript 中,所有对象并非同等创建的。
一般来说,可以创建并使用的对象有三种:本地对象、内置对象和宿主对象,对象还包含两类属性:自有属性、继承属性

JavaScript对象

一、JavaScript三大对象

1.本地对象

  • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象
  • 简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。
  • 这些引用类型在运行过程中需要通过 new 来创建所需的实例对象。

本地对象包括:

  • 常见引用类型ObjectFunctionArrayDateRegExp
  • 基本包装类型StringBooleanNumber
  • 其他类型ErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError

有关引用类型更详细的用法可参考《【JS基础】JavaScript引用类型》

有关基本包装类型更详细的用法可参考《【JS基础】JavaScript引用类型之基本包装类型》

2.内置对象

  • 与宿主无关,独立于宿主环境的ECMAScript实现提供的对象,在ECMAScript 程序开始执行时出现
  • ECMAScript 程序开始执行前就存在,本身就是实例化内置对象,开发者无需再去实例化
  • 内置对象是本地对象的子集。
  • 包含:GlobalMath
  • ECMAScript5中增添了JSON这个存在于全局的内置对象。

有关内置对象属性与方法的用法可参考《【JS基础】JavaScript内置对象》

3.宿主对象

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

(1)宿主提供的对象

JavaScript运行环境(即浏览器)提供的对象,由浏览器厂家自定义提供实现,早期存在较大的兼容性问题,当前其中一些主要的对象已经被大部分浏览器兼容;具体分为如下两大类:

  • BOM对象WindowNavigatorScreenHistoryLocation
  • DOM对象DocumentAnchorAreaBaseBodyButtonCanvasEventFrameFramesetIFrameImageLinkMetaStyleFormInput ButtonInput CheckBoxInput FileInput HiddenInput PasswordInput RadioInput ResetInput SubmitInputTextOptionSelectTextareTableTableCellTableRow

(2)自定义对象

指由运行中的`JavaScript``代码创建的对象,兼容性问题需要由编写者注意。
创建自定义对象:

a、对象直接量;由名/值对组成的映射表,名和值之间用冒号分隔,名/值对之间用逗号分隔

var obj1 = {};
var obj2 = {x:0,y:0};
var obj3 = {name:"Mary", age:18};

b、使用 new 操作符后跟构造函数;创建系统对象,创建通用对象,创建自定义对象(自定义构造函数)

var obj1 = new Array;
var obj2 = new Date();

c、function 对象模板

二、JavaScript对象的两类属性

对象中的属性,根据是否自身的可分为自有属性继承属性

1.自有属性:也可叫实例属性;指对象自身的属性,也就是直接在对象中定义的属性。

2.继承属性:也可叫原型属性;指对象从原型中继承的属性,也就是在对象的原型对象中定义的属性。

三、有关JavaScript对象的系列文章

  1. 【ES6】操作数组的常用方法有这些就够了
  2. 【JS基础】JavaScript引用类型之Date对象的常用方法
  3. 【JS基础】JavaScript引用类型之RegExp 类型
  4. 【JS基础】JavaScript引用类型之Function类型
  5. 【JS基础】JavaScript引用类型之基本包装类型
  6. 【JS基础】JavaScript内置对象
  7. 【JS基础】JavaScript引用类型

你可能感兴趣的:(【JS基础】(十三)JavaScript三大对象两类属性)