站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题Javascript实例教程(5) 利用Javascript创建对象

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

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

function Person(name, age, colour) {

this.name = name;

this.age = age;

this.colour = colour;

}

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

var somebody = new Person(Patrick, 22, red);

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

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

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

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

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

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

<table BORDER cellspacing=1 cellpadding=7 width=500> <tr> <td width=33% valign=TOP>

somebody.name, or </td> <td width=33% valign=TOP>

somebody[name] </td> <td width=33% valign=TOP>

Patrick </td> </tr> <tr> <td width=33% valign=TOP>

somebody.age, or </td> <td width=33% valign=TOP>

somebody[age] </td> <td width=33% valign=TOP>

22 </td> </tr> <tr> <td width=33% valign=TOP>

somebody.colour, or </td> <td width=33% valign=TOP>

somebody[colour] </td> <td width=33% valign=TOP>

red </td> </tr> </table>

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

另外地,数组和对象都有一个本质的属性,即length(长度)。我们在编制程序的时候,可以这样来使用它:objectName.length,它返回对象包含的元素或者属性的个数。
属性同样也可以从函数中来创建,这样,你只需要增加一行到Person函数中就可以创建属性了: function Person(name, age, colour) {

this.name = name;

this.age = age;

this.colour = colour;

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

}

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

这是一个非常懒惰的方法来访问一个Date变量。所以使用下面的代码会显得更准确些,更有可读性:

var today = new Date();

this.birthYear = today.getYear() - this.age;

当然,有许多方法来对JavaScript程序进行“压缩”。通过插入对象到代码中,你就可以处理绝大多数的变量。

这个Date对象比起我们上面定义的Person对象来说更复杂,因为它包括了访问方法(accessor/get)以及操作方法(manipulator/set)。同时,增加简单的对象方法到JavaScript中是可能,下面是详细的例子代码:

<script language=JavaScript>


↑返回目录
前一篇: Javascript实例教程(6) 在一个表单中设置和检查Cookie
后一篇: Javascript实例教程(4) 探测浏览器插件