![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=1738817807-VsBdu6sal8VOJn0Ogmw4Jn22TLAAHO3p-0-40ac4dbca8c52455ea1aae38323629fd)
也可以通过大括号定义对象直接量,其基本用法如下:
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_40919.jpg?sign=1738817807-odHuPjBtFfdiHDKEvhUblR9xpiu8xqlF-0-ae4ddfe7d545e05190fcfe38e0a3ebfa)
对象直接量是由一个列表构成,这个列表的元素是用冒号分隔的属性/值对。元素之间用逗号隔开,整个列表包含在大括号中。
【示例2】在本示例中,使用对象直接量定义坐标点对象。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_9943.jpg?sign=1738817807-WHuN30PjQPrD4cXioHJedFJoYnHgxXFN-0-5e3b254168788c474b8da0ff09e37041)
3.7.2 访问对象
可以通过点号运算符(.)来访问对象的属性。
【示例1】本示例使用点运算符访问对象point的x轴坐标值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P74_40921.jpg?sign=1738817807-VuGlSxWVk449NhbxohIlzl6TMeP7BlXq-0-c9976fca1e504b6867ead33015535fde)
对象的属性值可以是简单的值,也可以是复杂的值,如函数和对象。
当属性值为函数时,该属性就成为对象的方法,使用小括号可以访问该方法。
【示例2】本示例使用点运算符访问对象point的f属性,然后使用小括号调用对象的方法f()。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10007.jpg?sign=1738817807-3XHFHyW1Ew8UMTd3JVlqiMmENxUhhM7X-0-908d98296f0edafb3743ae3834dca5cd)
上面的代码使用关键字this来代表当前对象,这里的this总是指向调用当前方法的对象point。
属性值为对象时,就可以设计嵌套对象,可以连续使用点号运算符访问内部对象。
【示例3】本示例设计了一个嵌套对象,然后连续使用点运算符访问内部对象的属性a的值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10009.jpg?sign=1738817807-zpUUyRZcOqnAXQ9zXyIXzWWFBq2MZtQC-0-a71eb7432212b558d54b1af9efa8d1c4)
提示:集合运算符([])也可以访问对象的属性,此时可以使用字符串下标来表示属性。例如,示例3可以使用下面的方法访问嵌套对象的属性a的值。
![](https://epubservercos.yuewen.com/43C118/17214367505511406/epubprivate/OEBPS/Images/Figure-P75_10033.jpg?sign=1738817807-jCPab63hUIKZc03pqFLFy0UUxDGd6amQ-0-b73d5242dfd6165b3568e1c37a40eaf8)
下标字符串是对象的属性名,属性名必须加上引号,表示其为下标字符串。