ASP入門教程-VBScript基本元素

來源:互聯網
上載者:User

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中只有一個基礎資料型別 (Elementary Data Type),即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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.