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