![HTML5 APP开发从入门到精通(微课精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/420/31794420/b_31794420.jpg)
上QQ阅读APP看书,第一时间看更新
3.7 对象
对象(Object)是面向对象编程的核心概念,它是已经命名的数据集合,也是一种比较复杂的数据结构。
3.7.1 创建对象
在JavaScript中,对象是由new运算符生成的,生成对象的函数被称为类(或称构造函数、对象类型)。生成的对象被称为类的实例,简称为对象。
【示例1】在本示例中,分别调用系统内置类型函数,实例化几个特殊对象。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_9941.jpg?sign=1739320972-TUOkQtW3SDkEo78APYmkmqXX5ZBC0E0u-0-570aac6106450f1177b682e0f5200587)
也可以通过大括号定义对象直接量,其基本用法如下:
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_40919.jpg?sign=1739320972-hXzdjR7YxWqG1L1RFCr8SXFjtL73HbZI-0-6601bbfbf4a6996af3af3489f6d276e3)
对象直接量是由一个列表构成,这个列表的元素是用冒号分隔的属性/值对。元素之间用逗号隔开,整个列表包含在大括号中。
【示例2】在本示例中,使用对象直接量定义坐标点对象。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_9943.jpg?sign=1739320972-CaZZqq13XqwAFStoP8uF5DSWvPw8976T-0-880e7b1b85a1b6b2eb26238c14aa2cf0)
3.7.2 访问对象
可以通过点号运算符(.)来访问对象的属性。
【示例1】本示例使用点运算符访问对象point的x轴坐标值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_40921.jpg?sign=1739320972-2Yc1HDcYWkF9YTWOb19vQWkoOksSCe3I-0-18eff435c904208377a6f0db3cbc60d9)
对象的属性值可以是简单的值,也可以是复杂的值,如函数和对象。
当属性值为函数时,该属性就成为对象的方法,使用小括号可以访问该方法。
【示例2】本示例使用点运算符访问对象point的f属性,然后使用小括号调用对象的方法f()。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10007.jpg?sign=1739320972-p5BjRdTVz4FU03uqlF5wnRCzCFu8Aes1-0-12bef2451a2dd462b0bfc1e5e3dc7bca)
上面的代码使用关键字this来代表当前对象,这里的this总是指向调用当前方法的对象point。
属性值为对象时,就可以设计嵌套对象,可以连续使用点号运算符访问内部对象。
【示例3】本示例设计了一个嵌套对象,然后连续使用点运算符访问内部对象的属性a的值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10009.jpg?sign=1739320972-dX69XeO13HIXFLWdWpl2aWGX9gwZdFZK-0-0dfe06f161534bad4d28a36d07e86c22)
提示:集合运算符([])也可以访问对象的属性,此时可以使用字符串下标来表示属性。例如,示例3可以使用下面的方法访问嵌套对象的属性a的值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10033.jpg?sign=1739320972-zj4mJFXAsyUfqiGvWvy9FNT4G2FRG36J-0-3c57390fbf0fe56643e6f53776b22a1c)
下标字符串是对象的属性名,属性名必须加上引号,表示其为下标字符串。