建立自定义对象

你并不局限于前几节所讨论的JScript的内建对象，你可以自定义包含有你自己的方法和属性的对象来扩充JScript，这是JScript的一个强大的特性。

例如，你可以建立一个名为webuser的对象，它包含参观你网点的用户的信息，这个对象可以包含诸如用户名、密码和注册状态之类的属性，将所有这些属性全部集成在一个对象中，将会使你的脚本可读性更强、更简单、更一流。

要建立一个对象，你必须建立一个定义这个对象的函数，象下面的例子那样：

<%

function webuser(name,password,regstatus)

{

this.name=name;

this.password=“unknown”

this.regstatus=0;

}

%>

这个函数用来定义一个名为webuser的对象，注意关键字this的用法，this表明了当前对象。在此例中，它用来设定webuser对象中属性的缺省值。

一旦你为某个对象定义了一个专门的函数，你就可以象常规那样来创建对象的实例，你可以使用new语句来实现这一点：

<%

Fred=new webuser(“Fred”);

Mike=new webuser(“Mike”);

%>

在这个脚本中，建立了两个名为Fred和Mike的webuer对象。当Fred对象建立时，它的名字属性被设为Fred，其它的属性被设为缺省值。例如，刚建立Fred对象时，它的密码属性的值是“unknown”，你可以用常规的方法来设置属性的值，象下面的脚本那样：

<%

Fred.password=“my secret password”;

%>

当你建立一个对象时，你也可以为对象提供你自己的方法，要实现这一点，你只需建立一个函数，并在创建对象的函数中引用它，象下面的例子那样：

<%

function expirepassword()

{

this.password=“no good”;

}

function webuser(name,password,regstatus)

{

this.name=name;

this.password=“unknown”

this.regstatus=0;

this.expirepassword=expirepassword;

}

Fred=new webuser(“Fred”);

Fred.expirepassword();

%>

在这个脚本中，先定义了函数expirepassword（），然后将这个函数加入到对象webuser的创建函数中去。语句this. expirepassword= expirepassword使函数expirepassword变为webuser对象的一个方法。

当对象Fred被创建时，Fred的密码属性的初始值是“unknown”，但是一旦调用了expirepassword（）方法，Fred的密码值就被改为“no good”。

正如你所看到的，对象是很容易创建的，你会从你脚本中的自定义对象中受益，使用对象能让你更有逻辑地考虑怎样存储和处理信息。