建立自定义对象
你并不局限于前几节所讨论的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”。
正如你所看到的,对象是很容易创建的,你会从你脚本中的自定义对象中受益,使用对象能让你更有逻辑地考虑怎样存储和处理信息。