This Domain(Admin5.com) is for Sale:

Javascript实例教程(5) 利用Javascript创建对象

时间:2007-10-22  来源:不详  作者:林子

利用javascript创建对象

你可能对于一些其它的编程语言很熟悉,比如C 或者Java等等,它们也是可以创建对象的,现在最新的VB版本VB.NET也具有了更好的面向对象功能-----创建对象。从本质上讲,创建对象的想法只是为了创建一个简单的实体,这个实体包含了许多属性和方法。以下是一个对象构造器的例子: 本文来自织梦

function Person(name, age, colour) { 内容来自dedecms

this.name = name; 本文来自织梦

this.age = age; 织梦好,好织梦

this.colour = colour;

内容来自dedecms

} dedecms.com

然后,我们可以这样来调用Person构造器:

织梦内容管理系统

var somebody = new Person("Patrick", 22, "red"); 本文来自织梦

或者从用户那里得到输入数值:

dedecms.com

var pName = prompt("What is your name?"); copyright dedecms

var pAge = prompt("How old are you this year?");

copyright dedecms

var pColour = prompt("What is your favourite colour?");

织梦内容管理系统

var somebody = new Person(pName, pAge, pColour);

织梦内容管理系统

所有在javascript中得构造器,就象在Java中,都可以利用new关键字来进行调用。当一个person利用它的属性{"Patrick", 22, "red"}被创建(或者说被构造)的时候,这些数值就可以访问了,比如 :

内容来自dedecms

somebody.name, or 本文来自织梦

somebody["name"] dedecms.com

"Patrick" 织梦内容管理系统

somebody.age, or 内容来自dedecms

somebody["age"] copyright dedecms

22 织梦内容管理系统

somebody.colour, or copyright dedecms

somebody["colour"]

内容来自dedecms

"red"

copyright dedecms

本文来自织梦

因为我们利用name增加了Person的属性,所以它们必须通过name来被引用,这点在后面的代码中可以看到。如果我们使用数字,那么我们就必须使用数字来引用,比如要用somebody[0],而不用somebody.name。javascript的数组和对象(比如 forms,images,frames,…)都允许这两种方法。 织梦好,好织梦

另外地,数组和对象都有一个本质的属性,即length(长度)。我们在编制程序的时候,可以这样来使用它:objectName.length,它返回对象包含的元素或者属性的个数。
copyright dedecms

属性同样也可以从函数中来创建,这样,你只需要增加一行到Person函数中就可以创建属性了: function Person(name, age, colour) {

内容来自dedecms

this.name = name;

内容来自dedecms

this.age = age;

织梦好,好织梦

this.colour = colour;

copyright dedecms

this.birthYear = (new Date()).getYear() - this.age;

织梦好,好织梦

}

本文来自织梦

以上的Person函数定义了第四个属性:birthYear,它代表每一个Person的出生年份。这里要注意,这一增加的行是调用一个内置的Date构造器,它返回一个包含了当前日期和时间的Date对象。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息