>在浏览器环境中,我们也无法单纯依靠 JavaScript 代码实现 div 对象,只能靠 document.createElement 来创建,也说明了 JavaScript 的对象机制并非简单的属性集合 + 原型 ## 对象分类 - 宿主对象 (host Object):由 JavaScript 宿主环境提供的对象,它们的行为完全由宿 主环境决定 - 内置对象 (Built-in Objects):由 JavaScript 语言提供的对象 - 固有对象 (Intrinsic Objects):由标准规定,随着 JavaScript 运行时创建而自动创 建的对象实例。 - 原生对象 (Native Objects):可以由用户通过 Array、RegExp 等内置构造器或者特 殊语法创建的对象。 - 普通对象 (Ordinary Objects):由{}语法、Object 构造器或者 class 关键字定义类 创建的对象,它能够被原型继承。 ## 固有对象 >固有对象在任何 JS 代码执行钱就已经被创建出来了,它们通常扮演着类似基础库的角色,“类”其实就是固有对象的一种。 固有对象构造器创建的对象多数使用了私有字段,这些字段使得原型继承方法无法正常工作,所以我们可以认为所有这些原生对象都是为了特定能力或者性能而设计出来的 “特权对象”。