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