对象的分类

JavaScript中的对象大致分成以下几类: 宿主对象(host Objects):由JavaScript宿主环境提供的对象,它们的行为完全由宿主环境决定。 内置对象(Built-in Objects):由JavaScript语言提供的对象。 固有对象(Intrinsic Objects ):由标准规定,随着JavaScript运行时创建而自动创建的对象实例。 原生对象(Native Objects):可以由用户通过Array、RegExp等内置构造器或者特殊语法创建的对象。 普通对象(Ordinary Objects):由{}语法、Object构造器或者class关键字定义类创建的对象,它能够被原型承。 宿主对象: 宿主对象也分为固有的和用户可创建的两种,比如document.createElement就可以创建一些DOM对象。宿主也会提供一些构造器,比如我们可以使用new Image来创建img元素。 内置对象.固有对象 固有对象是由标准规定,随着JavaScript运行时创建而自动创建的对象实例。固有对象在任何JavaScript代码执行前就已经被创建出来了,它们通常扮演者类似基础库的角色。'类'其实就是固有对象的一种。 内置对象.原生对象 我们把JavaScript中,能够通过语言本身的构造器创建的对象称作原生对象。在JavaScript标准中,提供了30多个构器。 通过这些构造器,我们可以用 new 运算创建新的对象,所以我们把这些对象称作原生对象。 在JavaScript中,还有一个看待对象的不同视角,这就是用对象来模拟函数和构造器。JavaScript为这一类对象预留了私有字段机制,并规定了抽象的函数对象与构造器对象的概念。 函数对象的定义是:具有call私有字段的对象。 构造器对象的定义是:具有私有字段construct的对象。