?? 9-9.cfm.htm
字號:
<html>
<head>
<title>建立自定義對象</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋體" SIZE="5"><b>
<p ALIGN="JUSTIFY">建立自定義對象</p>
</b></font><font FACE="宋體" SIZE="3">
<p ALIGN="JUSTIFY">你并不局限于前幾節所討論的JScript的內建對象,你可以自定義包含有你自己的方法和屬性的對象來擴充JScript,這是JScript的一個強大的特性。</p>
<p ALIGN="JUSTIFY">例如,你可以建立一個名為webuser的對象,它包含參觀你網點的用戶的信息,這個對象可以包含諸如用戶名、密碼和注冊狀態之類的屬性,將所有這些屬性全部集成在一個對象中,將會使你的腳本可讀性更強、更簡單、更一流。</p>
<p ALIGN="JUSTIFY">要建立一個對象,你必須建立一個定義這個對象的函數,象下面的例子那樣:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function webuser(name,password,regstatus)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">this.name=name;</p>
<p ALIGN="JUSTIFY">this.password=“unknown”</p>
<p ALIGN="JUSTIFY">this.regstatus=0;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">這個函數用來定義一個名為webuser的對象,注意關鍵字this的用法,this表明了當前對象。在此例中,它用來設定webuser對象中屬性的缺省值。</p>
<p ALIGN="JUSTIFY">一旦你為某個對象定義了一個專門的函數,你就可以象常規那樣來創建對象的實例,你可以使用new語句來實現這一點:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">Fred=new webuser(“Fred”);</p>
<p ALIGN="JUSTIFY">Mike=new webuser(“Mike”);</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">在這個腳本中,建立了兩個名為Fred和Mike的webuer對象。當Fred對象建立時,它的名字屬性被設為Fred,其它的屬性被設為缺省值。例如,剛建立Fred對象時,它的密碼屬性的值是“unknown”,你可以用常規的方法來設置屬性的值,象下面的腳本那樣:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">Fred.password=“my secret password”;</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">當你建立一個對象時,你也可以為對象提供你自己的方法,要實現這一點,你只需建立一個函數,并在創建對象的函數中引用它,象下面的例子那樣:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">function expirepassword()</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">this.password=“no good”;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">function webuser(name,password,regstatus)</p>
<p ALIGN="JUSTIFY">{</p>
<p ALIGN="JUSTIFY">this.name=name;</p>
<p ALIGN="JUSTIFY">this.password=“unknown”</p>
<p ALIGN="JUSTIFY">this.regstatus=0;</p>
<p ALIGN="JUSTIFY">this.expirepassword=expirepassword;</p>
<p ALIGN="JUSTIFY">}</p>
<p ALIGN="JUSTIFY">Fred=new webuser(“Fred”);</p>
<p ALIGN="JUSTIFY">Fred.expirepassword();</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">在這個腳本中,先定義了函數expirepassword(),然后將這個函數加入到對象webuser的創建函數中去。語句this.
expirepassword= expirepassword使函數expirepassword變為webuser對象的一個方法。</p>
<p ALIGN="JUSTIFY">當對象Fred被創建時,Fred的密碼屬性的初始值是“unknown”,但是一旦調用了expirepassword()方法,Fred的密碼值就被改為“no
good”。</p>
<p ALIGN="JUSTIFY">正如你所看到的,對象是很容易創建的,你會從你腳本中的自定義對象中受益,使用對象能讓你更有邏輯地考慮怎樣存儲和處理信息。</p>
</font>
</body>
</html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -