- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 对象 对象,是JavaScript中的一种数据类型。JavaScript语言是一种基于对象的语言,因此,对象是JavaScript中是一种很重要的概念。在本章里将会介绍对象的基本概念及用法。 6.1 对象的介绍 对象是一种复合性数据类型,可以将很多数据集中在一个单元中。对象通过属性来获取数据集中的数据,也可以通过方法来实现数据的某些功能。 6.1.1 对象的概念 在一个程序里,通常会使用很多变量来描述一些实物的属性,例如一个名为color的变量,该变量有可能会用来描述一样东西的颜色,比如说笔的颜色、水桶的颜色、门的颜色等。如果一个程序里有多个实物,那么就有可能要用多个变量来描述这些实物的颜色, 6.1.2 对象的属性 从6.1.1章节中可以看出,对象就是一些变量的集合。在JavaScript中将包含在对象内部的变量称之为对象的属性。继续6.1.1章节中的示例,对象“笔”中拥有三个变量:颜色、价格、名称,在JavaScript中称为对象“笔”中拥有三个属性:颜色、价格、名称。(具体内容请参照书。) 6.1.3 对象的方法 对象是一些数据的集合,事实上,在JavaScript中函数也是一种特殊的数据,因此,在对象中也可以包含一些函数,那些函数称为对象的方法。函数的作用通过是实现某个功能,因此对象的方法的作用也是实现某个功能。如“笔”对象,可能就拥有一个“写字”的方法,该方法的功能是写字。同样,“门”对象有可能有“开”和“关”两个方法,分别实现开门和关门两种功能。 6.2 创建对象 在JavaScript中有两种对象,一种是系统内置的对象,另一种是用户自己创建的对象。两种不同的对象,有着不同的创建方法。 6.2.1 使用构造函数创建内置对象 在JavaScript中有很多内置的对象,每个内置的对象都有一个构造函数,直接使用构造函数就可以创建并初始化一个对象。在JavaScript中可以使用new运算符来调用构造函数创建对象。(具体内容请参照书。) 6.2.2 直接创建自定义对象 在JavaScript中,除了很多内置对象之外,还可以由用户自己创建对象,这类对象称为自定义对象。直接创建自定义对象的语法代码如下所示: var 对象名 = {属性名1:属性值1,属性名2:属性值2,属性名3:属性值3…}(具体内容请参照书。) 6.2.3 使用自定义构造函数创建对象 直接创建自定义对象虽然很方便也很直观,但是如果要创建多个相同的对象,使用这种方法就显得很繁琐了。在JavaScript中也可以自定义构造函数,通过调用自定义的构造函数也可以创建自定义对象。调用自定义构造函数的方法与调用函数内置的构造函数的方法一样,也是使用new运算符。(具体内容请参照书。) 6.3 对象的属性 (具体内容请参照书。) 6.3.1 设置对象的属性 一般来说,对象都会拥有属性,对于系统内置的对象来说,在其构造函数中就已经设置了对象的属性,只要使用new运算符创建对象,该对象就会直接拥有这些属性。对于自定义的对象来说,对象拥有的属性就必须要自己去设置了。(具体内容请参照书。) 6.3.2 存取对象属性值 要存取对象的属性值,就必须使用对象属性存取运算符(.)。在使用“.”运算符存取对象属性时,“.”运算符左侧应该是对象的名称,右侧应该是对象的属性名,不能是字符串,也不能是表达式。使用以下代码,可以获取对象的属性值: 变量名 = 对象名.属性名 使用以下代码可以为对象的属性值赋值: 对象名.属性名 = 属性值 6.3.3 属性的枚举 一个对象通常有多个属性,如果要获取某个属性值,就必须要使用“对象名.属性名”的方法来获取。对象的属性值不能像数组那样通过“对象名[下标]”的方式来进行存取,这就要求程序员必须熟悉对象的所有属性名。如果程序员不知道对象的某一个属性名,那么就无法通过“对象名.属性名”的方式来获取该值。不过JavaScript中可以通过“for…in”语句来枚举对象的所有属性。(具体内容请参照书。) 6.3.4 删除对象的属性 在JavaScript中,可以使用delete运算符来删除一个对象的属性。删除对象属性之后,该属性将不再属于该对象。在JavaScript中读取一个不存在的对象属性时,与读取一个没赋值的对象属性一样,都会返回undefined。所以很多程序员都以为删除对象属性就是将对象的属性值设为undefined。(具体内容请参照书。) 6.4 构造函数 在前面章节里多次提到过构造函数,使用new运算符可以调用构造函数来创建并初始化一个新的对象。与普通函数不同,调用构造函数必须要使用new运算符。构造函数也可以和普通函数一样拥有参数,其参数通常用于初始化新对象。在构造函数的函数体内通过this运算符初始化对象的
文档评论(0)