5.2. 使用构造函数创建JavaScript对象
可以使用构造函数的方式创建对象
使用构造函数定义法
语法
varobject=newobjectname();
- var -- 声明对象变量
- object -- 对象的名称
- new -- new的关键词(JavaScript关键词)
- objectname -- 构造函数名称
示例
//定义构造函数functionSite(url,name){this.url="www.dreamdu.com";this.name="梦之都";}//使用构造函数产生一个JavaScript对象的实例varmysite=newSite();alert(mysite.url);
构造函数通常可以初始化对象中的一些内容,JavaScript内部提供的一些对象通常需要使用构造函数的方法生成。JavaScript函数的内容将在下一章介绍。
直接定义法创建JavaScript对象
//定义对象语法varobject={};//对象内的属性语法(属性名(property)与属性值(value)是成对出现的)object.property=value;//对象内的函数语法(函数名(func)与函数内容是成对出现的)object.func=function(){...;};
- var -- 声明对象变量
- object -- 对象的名称
- property -- 对象的属性名
- func -- 对象的方法名
说明:对象可以包含一些属性(函数可以看作带有括号的特殊属性),每个属性有名称和值。名称可以是任何字符串甚至是空。值可以是任何javascript类型,但不能是undefined。
使用定义法定义的对象示例
varsite={};site.URL="www.dreamdu.com";site.name="梦之都";site.englishname="dreamdu";site.author="可爱的猴子";site.summary="免费的网页设计教程";site.pagescount=100;site.isOK=true;site.startdate=newDate(2005,12);site.say=function(){alert(this.englishname+"say : hello world!")};site.age=function(){vartheage=(newDate().getFullYear())-site.startdate.getFullYear();alert(this.name+"已经"+theage+"岁了!")}
使用构造函数创建JavaScript对象示例 -- 可以尝试编辑
上面的方法定义了一个site的对象,并且为其定义了七个属性,与两个个方法。
- say方法会打印出dreamdu say : hello world!的字符串
- age方法会计算出梦之都网站的年龄
猴子提示: 注意每个属性与函数前面都要加上对象的名称,否则JavaScript无法判断它是属于那个对象的。
下面的课程将讲解直接定义法的延伸,JSON定义法。