
1.3.3 JavaScript对象
JavaScript对象是拥有属性和方法的数据。例如在现实生活中,一辆汽车是一个对象,该对象有它的属性,如重量和颜色等,方法有起动和停止等,见表1.1。
表1.1 JavaScript对象

所有汽车都有这些属性,但是每款车的属性都不尽相同。所有汽车都拥有这些方法,但是它们被执行的时间都不尽相同。
在JavaScript中,几乎所有的事物都是对象。在前面已经学习了JavaScript变量的赋值,以下代码的作用是将变量car的值设置为“Fiat”。

对象也是一个变量,但对象可以包含多个值(多个变量)。

在以上实例中,将3个变量 (type, model, color) 赋予变量car,并将3个值 ("Fiat", 500,"white") 赋予变量car。
1.对象定义
可以使用字符来定义和创建JavaScript对象。

定义JavaScript对象可以跨越多行,空格跟换行不是必须的。

2.对象属性
可以说“JavaScript对象是变量的容器”。但是,通常认为“JavaScript对象是键值对的容器”。
键值对的通常写法为“name : value”(键与值用冒号分隔),其在JavaScript对象中通常被称为对象属性。对象键值对的写法类似于PHP中的关联数组、Python中的字典、C语言中的哈希表等的写法。
3.访问对象属性
可以通过以下两种方式访问对象属性。

4.对象方法
对象的方法定义了一个函数,并作为对象的属性存储。对象方法通过添加“()”调用 (作为一个函数)。
以下实例访问了person对象的fullName()方法。

如果要访问person对象的fullName属性,它将作为一个定义对象的字符串返回。

在随后的章节中,读者将学习到更多关于对象、属性和方法的知识。
5.访问对象方法
可以使用以下语法创建对象方法。

可以使用以下语法访问对象方法。

通常,将fullName()作为person对象的一个方法,将fullName作为一个属性。有多种方式可以创建、使用和修改JavaScript对象,同样也有多种方式用来创建、使用和修改属性和方法。
6.对象创建样例
以下代码提供了一个JavaScript对象的创建样例,其中提供了两种创建对象的方法。为了像传统的C系列语言一样,也为了更为灵活地创建对象,推荐使用方法2来创建对象。

