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