《JS权威指南学习总结--第六章 对象》

内容要点:

一.对象定义

     对象是JS的基本数据类型。对象是一种复合值:它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值。

     对象也可看做是属性的无序集合,每个属性都是一个名/值对。

     属性名是字符串,因此我们可以把对象看成是从字符串到值的映射。这种基本的数据结构还有很多种叫法,比如:"散列","散列表","字典","关联数组"。

     然而对象不仅仅是字符串到值的映射,除了可以保持自有的属性,JS对象还可以从一个称为原型的对象继承属性。

     对象的方法通常是继承的属性。

     这种"原型式继承"是JS的核心特征

二.属性特征

     可写:表明是否可以设置该属性的值。

     可枚举:表明是否可以通过for/in循环返回该属性

     可配置:表明是否可以删除或者修改该属性。

三.对象特征

      对象的原型:指向另外一个对象,本对象的属性继承自它的原型对象。

      对象的类:是一个标识对象类型的字符串。

     对象的扩展标记:指明了是否可以向该对象添加新属性

四.三类JS对象和两类属性的区别:

      内置对象:是由ECMAScript规范定义的对象或类。例如,数组、函数、日期和正则表达式都是内置对象

      宿主对象:由JS解释器所嵌入的宿主环境定义的。客户端JS中表示网页结构的HTMLElement对象均是宿主对象,既然宿主环境定义的方法可以当成普通的JS函数对象,那么宿主对象也可以当成内置对象。

      自定义对象:由运行中的JS代码创建的对象。

      自有属性:直接在对象中定义的属性。

      继承属性:在对象的原型对象中定义的属性。

 

原文地址:https://www.cnblogs.com/hanxuming/p/5782851.html