JavaScript 什么是对象

对象是客观世界存在的人、事和物体等实体。现实生活中存在很多的对象,比如猫、自行车等。

不难发现它们有两个共同特征:都有状态和行为。比如猫有自己的状态(名字、颜色、饥饿与否等)和行为(爬树、抓老鼠等)。

自行车也有自己的状态(档位、速度等)和行为(刹车、加速、减速、改变档位等)。若以自然人为例,构造一个对象,可以用图来表示,其中Attribute 表示对象状态,Method 表示对象行为。

在软件世界也存在对象,可定义为相关变量和方法的软件集。主要由两部分组成:

一组包含各种类型数据的属性

允许对属性中的数据进行操作且有相关方法

以HTML 文档中的document 作为一个对象,如图所示。

综上所述,凡是能够提取一定度量数据并能通过某种途径对度量数据实施操作的客观存在都可以构成一个对象,且用属性来描述对象的状态,使用方法和事件来处理对象的各种行为。

属性:用来描述对象的状态。通过定义属性值,可以改变对象的状态。可以定义字符串HungryOrNot 来表示该自然人肚子的状态,HungryOrNot 成为自然人的某个属性;

方法:由于对象行为的复杂性,对象的某些行为可用通用的代码来处理,这些通用的代码称为方法。可以定义方法Eat( )来处理自然人肚子很饿的情况,Eat( )成为自然人的某个方法;

事件:由于对象行为的复杂性,对象的某些行为不能使用通用的代码来处理,需要用户根据实际情况爱编写处理该行为的代码,该代码称为事件。可以定义事件 DrinkBeforeEat( )来处理自然人肚子很饿同时嘴巴很渴需要先喝水后进食的情况。