5.2. 使用构造函数创建JavaScript对象

可以使用构造函数的方式创建对象

使用构造函数定义法

语法

var object=new objectname();
  • var -- 声明对象变量
  • object -- 对象的名称
  • new -- new的关键词(JavaScript关键词)
  • objectname -- 构造函数名称

示例

//定义构造函数
function Site(url, name)
{
    this.url = "www.dreamdu.com";
    this.name ="梦之都";
}
//使用构造函数产生一个JavaScript对象的实例
var mysite = new Site();
alert(mysite.url);

构造函数通常可以初始化对象中的一些内容,JavaScript内部提供的一些对象通常需要使用构造函数的方法生成。JavaScript函数的内容将在下一章介绍。

直接定义法创建JavaScript对象

//定义对象语法
var object={};
//对象内的属性语法(属性名(property)与属性值(value)是成对出现的)
object.property=value;
//对象内的函数语法(函数名(func)与函数内容是成对出现的)
object.func=function(){...;};
  • var -- 声明对象变量
  • object -- 对象的名称
  • property -- 对象的属性名
  • func -- 对象的方法名

猴子提示: 对象可以包含一些属性(函数可以看作带有括号的特殊属性),每个属性有名称和值。名称可以是任何字符串甚至是空。值可以是任何javascript类型,但不能是undefined

使用定义法定义的对象示例

var site = {};
site.URL = "www.dreamdu.com";
site.name = "梦之都";
site.englishname = "dreamdu";
site.author = "可爱的猴子";
site.summary = "免费的网页设计教程";
site.pagescount = 100;
site.isOK = true;
site.startdate = new Date(2005, 12);
site.say = function(){alert(this.englishname+" say : hello world!")};
site.age = function(){var theage=(new Date().getFullYear())-site.startdate.getFullYear();alert(this.name+"已经"+theage+"岁了!")}
site.say();
site.age();

使用构造函数创建JavaScript对象示例 -- 可以尝试编辑

上面的代码定义了一个site对象,对象中包括一些属性与方法

  • say方法会打印出dreamdu say : hello world!的字符串
  • age方法会计算出梦之都网站的年龄

猴子提示: 注意每个属性与函数前面都要加上对象的名称,否则JavaScript无法判断它是属于那个对象的

下面的课程将讲解直接定义法的延伸,JSON定义法。



  • 教程中有什么不懂的地方?发现教程的错误!对教程有什么建议!快快联系猴子呀dreamdu@163.com,:)
赞助梦之都