VBScript基礎

聲明(創建)VBScript 變量

在 VBScript 創建變量通常指"聲明"變量。

您可以通過 Dim、Public 或 Private 語句聲明 VBScript 變量。如下所示:

Dim x
Dim carname

現在您已經創建了兩個變量。變量的名稱是 "x" 和 "carname"。

您也可以在腳本中通過使用它的名稱來聲明變量。如下所示:

carname="Volvo"

現在您又創建了一個變量。變量的名稱是 "carname"。然後,這個做法不是一個好習慣,因爲您可能會在腳本中拼錯變量名,那樣可能會在腳本運行時引起奇怪的結果。

如果您拼錯變量名,比如 "carname" 變量錯拼爲 "carnime",腳本會自動創建一個名爲 "carnime" 的新變量。爲了防止腳本這樣做,您可以使用 Option Explicit 語句。如果您使用這個語句,就必須使用 dim、public 或 private 語句來聲明所有的變量。

把 Option Explicit 語句放置於腳本的頂端,如下所示:

Option Explicit
Dim carname
carname=some value

爲變量賦值

msgbox"彈框",,"Title"

dim name,age  //聲明變量
name = "111" age = 12 //賦值
msgbox name&age
dim a,b,c
a=1
b=2
c=a+b
msgbox c

變量的生存期

變量的生存期指的是它可以存在的時長。

當您在一個子程序中聲明變量時,變量只能在此程序內進行訪問。當退出此程序時,變量也會失效。這樣的變量稱爲本地變量。您可以在不同的子程序中使用名稱相同的本地變量,因爲每個變量只能在聲明它的程序內得到識別。

如果您在子程序以外聲明瞭一個變量,在您的頁面上的所有子程序都可以訪問它。這類變量的生存期始於它們被聲明,止於頁面被關閉。

VBScript 數組變量

數組變量用於在一個單一的變量中存儲多個值。

在下面的實例中,聲明瞭一個包含 3 個元素的數組:

Dim names(2)

括號內顯示的數字是 2。數組的下標以 0 開始,因此該數組包含 3 個元素。這是容量固定的數組。您可以爲數組的每個元素分配數據,如下所示:

names(0)="Tove"
names(1)="Jani"
names(2)="Stale"

同樣地,通過使用特定數組元素的下標號,您可以取回任何元素的值。如下所示:

mother=names(0)

您可以在一個數組中使用多達 60 個維數。聲明多維數組的方法是在括號中用逗號來分隔數字。這裏,我們聲明瞭一個包含 5 行 7 列的 2 維數組:

Dim table(4,6)

爲二維數組賦值:

Dim x(2,2)
x(0,0)="Volvo"
x(0,1)="BMW"
x(0,2)="Ford"
x(1,0)="Apple"
x(1,1)="Orange"
x(1,2)="Banana"
x(2,0)="Coke"
x(2,1)="Pepsi"
x(2,2)="Sprite"

<!--輸入框--> 


dim v,b,s
v=inputbox("請輸入第一個乘數")
b=inputbox("請輸入第二個乘數")
s=a*b
msgbox "乘積是:"&s

條件語句

  • If stat語句ement - 假如您希望在條件爲 true 時執行一系列的代碼,可以使用這個語句
  • If...Then...Else 語句 - 假如您希望執行兩套代碼其中之一,可以使用這個語句
  • If...Then...ElseIf 語句 - 假如您希望選擇多套代碼之一來執行,可以使用這個語句
  • Select Case 語句 - 假如您希望選擇多套代碼之一來執行,可以使用這個語句
  • <!--if語句-->

    If a < 0 Then
    MsgBox("a<0")
    ElseIf a > 0 And a < 100 Then
    MsgBox("a>0 and a<100")
    Else
    MsgBox("a>100")
    End If
    <!--猜數字遊戲-->
    dim a'變量     //單引號表示註釋的意思
    randomize'初始化隨機函數
    dim a = int(ran*10)'隨機0-10
    do'循環語句
    dim b = inputbox("猜個數字吧")
    if int(b)>a then
    msgbox"大了"
    elseif int(b)>a then
    msgbox"小了"
    else
    msgbox"可以,對了"
    exit do’退出循環
    end if'結束判斷 
    loop 

    <!--無限彈框-->

    dim WS,I
    set WS = WScript.CreateObject("WScript.shell")'創建對象
    for I = 1 To 10'執行10次
    WS.Run "mshta.exe VBScript:MsgBox(""拒接訪問C:\"",64,""Windows警告"")(Close)",0'運行程序
    Next
    

    Select Case

    dim d=weekday(date)
    Select Case d
    Case 1
        msgbox("Sleepy Sunday")
    Case 2
        msgbox("Monday again!")
    Case 3
        msgbox("Just Tuesday!")
    Case 4
        msgbox("Wednesday!")
    Case 5
        msgbox("Thursday...")
    Case 6
        msgbox("Finally Friday!")
    Case else
        msgbox("Super Saturday!!!!")
    End Select

    循環語句

  • 在 VBScript 中,我們可以使用四種循環語句:

  • For...Next 語句 - 運行一段代碼指定的次數
  • For Each...Next 語句 - 針對集合中的每個項目或者數組中的每個元素來運行某段代碼
  • Do...Loop 語句 - 運行循環,當條件爲 true 或者直到條件爲 true 時
  • While...Wend 語句 - 不要使用這個語句 - 請使用 Do...Loop 語句代替它
  • Step 關鍵詞

    通過 Step 關鍵詞,您可以規定計數變量遞增或遞減的步進值。

    在下面的實例中,計數變量(i)每次循環的遞增步進值爲 2。

    For i=2 To 10 Step 2
    some code
    Next

    如果要遞減計數變量,您就必須使用負的 Step 值。並且必須規定小於開始值的結束值。

    在下面的實例中,計數變量(i)每次循環的遞減步進值爲 2。

    For i=10 To 2 Step -2
    some code
    Next

    退出 For...Next

    您可以通過 Exit For 關鍵詞退出 For...Next 語句。

    For i=1 To 10
    If i=5 Then Exit For
    some code
    Next

  • For Each...Next 循環

  • Dim cars(2)
    cars(0)="Volvo"
    cars(1)="Saab"
    cars(2)="BMW"
    
    For Each x In cars
    msgbox(x)
    Next

    Do...Loop

    如果你不知道重複多少次,可以使用 Do...Loop 語句。

    Do...Loop 語句重複執行某段代碼直到條件是 true 或條件變成 true。

    重複執行代碼直到條件是 true

    您可以使用 While 關鍵字來檢查 Do... Loop 語句的條件。

    Do While i>10
    some code
    Loop

    如果 i 等於 9,上述循環內的代碼將終止執行。

    Do
    some code
    Loop While i>10

    這個循環內的代碼將被執行至少一次,即使 i 小於 10。

    重複執行代碼直到條件變成 true

    您可以使用 Until 關鍵字來檢查 Do...Loop 語句的條件。

    Do Until i=10
    some code
    Loop

    如果 i 等於 10,上述循環內的代碼將終止執行。

    Do
    some code
    Loop Until i=10

    這個循環內的代碼將被執行至少一次,即使 i 等於 10。

    退出 Do...Loop

    您可以通過 Exit Do 關鍵詞退出 Do...Loop 語句。

    Do Until i=10
    i=i-1
    If i<10 Then Exit Do
    Loop

    這個循環內的代碼,只要 i 不爲 10 且 i 大於 10 時都將被執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章