VBScript數據類型
VBScript只有一種數據類型,即Variant,稱為變體型。Varriant是一種特殊的數據類型,根據使用的方式,它可以包含不同類別的信息。因為Variant是VBScript中惟一的數據類型,所以它也是VBScript中所有函數的返回值的數據類型。
最簡單的Variant可以包含數字或字符串信息。Variant 用於數字上下文中時作為數字處理,用於字符串上下文中時作為字符串處理。也就是說,如果使用看起來像是數字的數據,則VBScript會假定其為數字並以適用於數字的方式處理。與此類似,如果使用的數據只可能是字符串,則VBScript將按字符串處理。也可以將數字包含在引號("")中使其成為字符串。
Variant包含的值信息類型稱為子類型。大多數情況下,可將所需的數據放進Variant中,而Variant也會按照最適用於其數據的方式進行操作。
Variant包含的數據子類型 子類型 描 述 Boolean 包含True或False Byte 包含0到255之間的整數 Currency -922,337,203,685,477.5808到922,337,203,685,477.5808 Long 包含-2,147,483,648到2,147,483,648整數 Single 包含單精度浮點數,負數范圍從-3.402823E38到-1.401298E-45,正數范圍從1.401298E-45到3.402823E38 Double 包含雙精度浮點數,負數范圍從-1.79769313486232E308到-4.94065645841247E-324,正數范圍從4.94065645841247E-324到1.79769313486232E308 Date(Time) 包含表示日期的數字,日期范圍從公元100年1月1日到公元9999年12月日 String 包含變長字符串,最大長度可為20億字符 Object 包含對象 Error 包含錯誤號 Integer 包含32,768到32,767之間的整數VBScript變量與常量
變量是一種使用方便的占位符,用於引用計算機內存地址,該地址可以存儲腳本運行時可更改的程序信息。例如,可以創建一個名為ClickCount的變量來存儲用戶單擊Web頁面上某個對象的次數。使用變量並不需要了解變量在計算機內存中的地址,只要通過變量名引用變量就可以查看或更必變量的值。在VBScript中只有一個基本數據類型,即Variant,因此所有變量的數據類型都是Variant。
1、變量的命名規則
變量命名必須遵循VBScript的標准命名規則:
第一個字符必須是字母。 不能包含嵌入的句點(.)。 長度不能超過255個字符。 在被聲明的作用域內必須惟一。 不能與VBScript的關鍵詞相同。2、聲明變量
在VBScript中,通常使用Dim語句、Public語句和Private語句顯式聲明變量,並分配存儲空間。其語法格式為:
{Dim|Private|Public} <變量名1> [,<變量名2>] [,<變量名3>]...[,<變量名>]
說明:
(1)Public語句聲明的變量可用於全部腳本中的所有過程;
(2)用Dim聲明的Script級變量可用於腳本中的所有過程,但過程能變量只級用於過程中;
(3)Private語句聲明的變量只能在聲明該變量的腳本中使用。
(4)聲明多個變量時,使用逗號分隔變量。如:Dim a,b,c,d
另一種方式是通過直接在腳本中使用變量名這一簡單方式隱式聲明變量。這通常不是一個好習慣,因為這樣有時會由於變量名被拼錯而導致在運行腳本時出現意外的結果。因此,最好使用Option Explicit語句聲明所有的變量,並將其作為腳本的第一條語句。(即它必須出現在任何HTML標識或其他VBScript命令之前,否則,該語句將被視為非法語句。
3、變量的作用域與存活期
變量的作用域由聲明它的位置決定。如果在過程中聲明變量,則只有該過程中的代碼可以訪問或更改變量值,此時變量具有局部作用域並被稱為過程級變量。如果在過程之外聲明變量,則該變量可以被腳本中所有過程所識別,稱為腳本級變量,具有腳本級的作用域。
變量存在的時間稱為存活期。腳本級變量的存活期從被聲明的一刻起,直到腳本運行結束。對於過程級變量,其存活期僅是該過程運行的時間,該過程結後,變量隨之消失。在執行過程時,局部變量是理想的臨時存儲空間。在不同過程中可以使用同名的局部變量,是因為每一個局部變量只被聲明它的過程識別。
4、給變量賦值
使用賦值語句可以給某個值賦給某個變量,其格式為:
變量名=值 如:RserName="影子"
Password="698726as"
BirthDate=#1975-12-25"
5、標量變量和數組變量
在多數情況下,只需要為聲明的變量賦給一個變量值。只包含一個值的變量被稱為標量變量。在某些情況下,將多個相關值賦給一個變量更為方便,因此可以創建包含一系列值的變量,稱為數組變量。數組變量和標量變量的聲明是相似的,惟一的區別是聲明數組變量時,變量名後面帶有括號()。例如:myWeekDay(6),這是聲明了一個包含7個元素的一維數組。
數組並不僅限於一維。數組的維數最大可以為60,聲明多維數組時,使用逗號分隔括號中每個表示數組大小的數字。例如:Dim MyTable(5,9),聲明了一個6行10列的二維數組。
6、動態數組
也可聲明動態數組,即在運行腳本時大小發生變化的數組。對動態數組的最初聲明使用Dim語句或ReDim語句。若要使用動態數組,但括號中不能包含數字。必須隨後使用ReDim確定維數和每一維的大小。例如:下面的ReDim語句將動態數組的初始大小設為25,而後的ReDim語句將數組的大小重新調整為30,同時使用Preserve關鍵字在重新調整大小時保留數組的內容。
Dim myArray(25)
......
ReDim AnotherArray(30)
7、簡單的應用實例
<html>
<head><title>數組的應用</title>
<script language="VBScript" for="button1" Event="onClick">
Dim myWeekDay(6)
Dim myWeek
myweekDay(0)="星期日"
myweekDay(1)="星期一"
myweekDay(2)="星期二"
myweekDay(3)="星期三"
myweekDay(4)="星期四"
myweekDay(5)="星期五"
myweekDay(6)="星期六"
myWeek=WeekDay(Date)-1
Select Case true
Case myWeek=1
Msgbox "今天是" & myweekDay(1) & ",一周的開始,努力工作喲。"
Case myWeek=2
Msgbox "今天是" & myweekDay(2) & ",還要努力工作喲。"
Case myWeek=3
Msgbox "今天是" & myweekDay(3) & ",繼續努力工作喲。"
Case myWeek=4
Msgbox "今天是" & myweekDay(4) & ",還有二天就到周未了,堅持。"
Case myWeek=5
Msgbox "今天是" & myweekDay(5) & ",哈哈,明天是周未。"
Case myWeek=6
Msgbox "今天是" & myweekDay(6) & ",今天可以風狂的玩了。"
Case myWeek=0
Msgbox "今天是" & myweekDay(0) & ",好好休息,明天又是新的一周開始。"
End select
</script>
</head>
<body>
<form name=form1>
<input type="button" name="button1" value="請查看今天是周幾">
</form>
</body>
</html>