?? page5.htm
字號:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>使用變量和常量</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="Microsoft Border" content="none">
</head>
<body background="../../images/exptextb.jpg">
<!-- Spidersoft WebZIP Ad Banner Insert -->
<!-- End of Spidersoft WebZIP Ad Banner Insert-->
<font FACE="宋體" SIZE="2"><b>
<p>使用變量和常量</b></p>
<p>變量是計算機(jī)內(nèi)存中已命名的存儲位置,其中包含了數(shù)字或字符串等數(shù)據(jù)。變量包含的信息被稱為變量的值。變量使用用戶便于理解腳本操作的名稱為用戶提供了一種存儲、檢索和操作數(shù)據(jù)的途徑。</p>
<p><strong>聲明和命名變量</strong></p>
<p>命名和聲明變量應(yīng)遵循腳本語言的規(guī)則及指導(dǎo)。即使在使用變量前不需要去聲明變量,也應(yīng)養(yǎng)成在編程時聲明變量的良好習(xí)慣,因為這樣有助于防止錯誤發(fā)生。聲明一個變量意味著告訴腳本引擎,有一個特定名稱的變量,這樣就可以在腳本中引用該變量。</p>
<p><strong>VBScript</strong></p>
<p>VBScript
并不需要聲明變量,但在使用所有變量前聲明它們是一種好的腳本書寫習(xí)慣。要在
VBScript 中聲明變量,請用 Dim、 Public 或 Private 語句。例如:</p>
<p><% Dim UserName %></p>
<p>可以在需要顯式聲明變量的 .asp 文件中用 VBScript Option Explicit
語句。Option Explicit 必須在任何一個 ASP 指令之后及任何一個 HTML
文本或腳本命令之前出現(xiàn)。該語句僅影響用 VBScript 書寫的 ASP
命令,而不會影響 JScript 命令。</p>
<p>關(guān)于這些命令的詳細(xì)信息,請參閱 VBScript 語言參考。</p>
<p><strong>JScript</strong></p>
<p>Microsoft JScript
僅當(dāng)變量為本地過程變量時才需聲明,但在使用所有變量前聲明它們是一種好的腳本書寫習(xí)慣。要聲明一個變量,請使用
var 語句。例如:</p>
<p><% var UserName; %></p>
<p>有關(guān) var 語句的詳細(xì)信息,請參閱 JScript 語言參考。</p>
<p><strong>變量作用域</strong></p>
<p>變量的作用域即生命期,決定哪些腳本命令可訪問變量。在過程內(nèi)部聲明的變量具有局部作用域。每執(zhí)行一次過程,變量就被創(chuàng)建然后消亡。而過程外部的任何命令都不能訪問它。在過程外部聲明的變量具有全局作用域,其值能被
ASP 頁上的任何腳本命令訪問和修改。</p>
<p>聲明變量時,局部變量和全局變量可以有相同的名稱。而改變其中一個的值并不會改變另一個的值。如果沒有聲明變量,則可能不小心會改變一個全局變量的值。例如,以下腳本命令返回值
1,雖然有兩個名為 Y 變量:</p>
<p><% </p>
<p>Dim Y</p>
<p>Y = 1</p>
<p>Call SetLocalVariable</p>
<p>Response.Write Y</p>
<p>Sub SetLocalVariable</p>
<p>Dim Y</p>
<p>Y = 2</p>
<p>End Sub</p>
<p>%></p>
<p>由于變量沒有顯式聲明,以下的腳本命令將返回 2。當(dāng)過程調(diào)用將
Y 設(shè)置為 2 時,腳本引擎認(rèn)為該過程是要修改全局變量:</p>
<p><% </p>
<p>Y = 1</p>
<p>Call SetLocalVariable</p>
<p>Response.Write Y</p>
<p>Sub SetLocalVariable</p>
<p>Y = 2</p>
<p>End Sub</p>
<p>%></p>
<p>養(yǎng)成顯式聲明所有變量的編程習(xí)慣可以避免許多問題。尤其在當(dāng)您用
#include 語句將文件包含進(jìn) ASP
主頁時,就顯得更為重要。一個獨立文件中被包含的腳本是被當(dāng)作整個包含它的文件的一部分來處理的。用不同的名稱來命名主腳本和被包含腳本中用到的變量,這容易被遺忘,除非聲明變量。
</p>
<p><strong>為變量賦予會話或應(yīng)用程序作用域</strong></p>
<p>全局變量僅在單個 ASP 頁中可用,要使它在單個 ASP
頁之外可用,就必須為變量賦予會話或應(yīng)用程序作用域。會話作用域變量對一個用戶所請求的
ASP
應(yīng)用程序中的所有頁都是可用的。應(yīng)用程序作用域變量也如此。對單個用戶來說,會話變量是存儲信息的最佳途徑,例如,首選項、用戶名或用戶標(biāo)識。對于一個特殊應(yīng)用程序的所有用戶,應(yīng)用程序作用域是存儲信息的最佳途徑,例如,應(yīng)用程序特定的問候語或應(yīng)用程序所需的初始值。</p>
<p>ASP 提供兩個內(nèi)建對象來讓您存儲變量:Session 對象和 Application
對象。</p>
<p>您也可以創(chuàng)建具有會話或應(yīng)用程序作用域的對象實例。詳細(xì)信息,請參閱
設(shè)置對象作用域。</p>
<p><strong>會話作用域</strong></p>
<p>要為變量賦予會話作用域,將該變量存儲到 Session
對象中即可,方法是為該對象的已命名條目指派一個值。例如,以下命令將兩個新的變量存儲到
Session 對象中。</p>
<p><% </p>
<p>Session("FirstName") = "Jeff"</p>
<p>Session("LastName") = "Smith" </p>
<p>%></p>
<p>要 Session 對象中檢索信息,可以用輸出指令 (<%=) 或 Response.Write
訪問已命名的條目。以下示例用輸出指令顯示
Session("FirstName") 的當(dāng)前值:</p>
<p>Welcome <%= Session("FirstName") %></p>
<p>可在 Session
對象中存儲用戶首選項,然后就可以訪問這些首選項,從而決定將哪一頁返回給用戶。例如,您可以允許用戶在應(yīng)用程序的第一頁指定純文本內(nèi)容,然后將這一選擇應(yīng)用到用戶在該應(yīng)用程序中訪問的所有后續(xù)頁。</p>
<p><% If Session("ScreenResolution") = "Low" Then %> </p>
<p>This is the text version of the page.</p>
<p><% Else %> </p>
<p>This is the multimedia version of the page.</p>
<p><% End If %> </p>
<p><strong>應(yīng)用程序作用域</strong></p>
<p>要為變量賦予應(yīng)用程序作用域,將該變量存儲到 Application
對象中即可,方法是為該對象的已命名條目指派一個值。例如,以下命令將一個應(yīng)用程序特定的問候語存儲到Application
對象中:</p>
<p><% Application("Greeting") = "Welcome to Exploration Air" %></p>
<p>要從 Application 對象中檢索信息,可以使用 ASP 輸出指令 (<%=) 或
Response.Write
從該應(yīng)用程序的任意后續(xù)頁中訪問已命名條目。以下示例用輸出指令顯示
Application("Greeting") 的值:</p>
<p><%= Application("Greeting") %></p>
<p><strong>使用常量</strong></p>
<p>常量是用來代替一個數(shù)或字符串的名稱。一些隨 ASP
提供的基本組件,例如 ActiveX Data Objects (ADO),定義了您在腳本中可以使用的常量。組件可在一個組件類型庫中聲明常量,組件類型庫是一個包含
ActiveX 組件所支持的對象和類型的信息的文件。一旦在 Global.asa
文件中聲明了一個類型庫,您就可以在該應(yīng)用程序的任意頁中使用已定義的常量。</p>
<p>可在 Global.asa 中用 <METADATA>
標(biāo)記為應(yīng)用程序聲明類型庫。例如,要聲明 ADO
類型庫,可用以下語句:</p>
<p><!--METADATA TYPE="typelib"</p>
<p>FILE="c:\program files\common files\system\ado\msado15.dll"</p>
<p>--></p>
<p>這樣,您就可以在與 Global.asa 文件相同的應(yīng)用程序的中使用 ADO
常量。在下面的示例中,adOpenKeyset 和 adLockOptimistic 是 ADO 常量:</p>
<p>'Create and Open Recordset Object</p>
<p>Set RsCustomerList = Server.CreateObject("ADODB.Recordset")</p>
<p>RsCustomerList.ActiveConnection = OBJdbConnection</p>
<p>RsCustomerList.CursorType = adOpenKeyset</p>
<p>RsCustomerList.LockType = adLockOptimistic</p>
<p>有關(guān) <METADATA> 標(biāo)記的參考信息,請參閱 TypeLibrary 聲明。</p>
<p>在以前版本的 ASP
中,一些組件在文件中提供常量定義,每個使用那些組件的 ASP
文件必須包含該文件。用 #include
指令來包含常量定義的用法仍被支持,但使用類型庫通常更方便并且能使腳本更易于升級。在以后版本的
ASP 中,組件可能將不再提供常量定義文件。</p>
<p>您可以定義自己的常量。在 VBScript 中,用 Const 語句,在 JScript
中,用 var 語句。如果在多個 ASP
頁中使用常量,可在獨立的文件中放置常量,然后將其包含進(jìn)每一個使用該常量的
ASP 文件中去。</font></p>
<layer src="http://www.spidersoft.com/ads/bwz468_60.htm" visibility=hidden id=a1 width=600 onload="moveToAbsolute(ad1.pageX,ad1.pageY); a1.clip.height=60;visibility='show';"></layer>
</body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -