VBScript的全稱是Visual Basic Script,有時(shí)也簡(jiǎn)稱為VBS。
VBScript是微軟開發(fā)的一種腳本語言,可以看作是Visual Basic的簡(jiǎn)化版,目前這種語言廣泛應(yīng)用于網(wǎng)頁和ASP程序。
與VB不同,VBScript不能生成獨(dú)立的exe可執(zhí)行文件,需要由其它軟件解釋才能運(yùn)行。有許多軟件支持VBScript,
比如微軟IE瀏覽器和Office等。VBScript的局限是只能運(yùn)行于Windows操作系統(tǒng)和基于IE的瀏覽器,
而JavaScript則受到所有網(wǎng)頁瀏覽器的支持,因此客戶端使用JavaScript的更為普遍。
首先要強(qiáng)調(diào)一下,VBScript代碼中一定要使用英文的標(biāo)點(diǎn)符號(hào)——半角符號(hào),否則代碼無法運(yùn)行。
半角符號(hào)一般比較窄的,大約是半個(gè)中文字符的寬度。
半角 | :,.?() |
---|---|
全角 | :,。?() |
VBScript代碼是不分大小寫的。隨便用大小寫都行,但不要太隨便了,易讀即可。
可以在一個(gè)單引號(hào)(')之后給代碼添加注釋,注釋的內(nèi)容不被執(zhí)行。例如:
a = 1'單引號(hào)之后為注釋 |
如果代碼一行太長(zhǎng),想寫成兩行的話,要在行尾加下劃線(_)作續(xù)行符,例如:
a = (1 + 2 + 3) * (1 + 2 + 3)'寫成兩行a = (1 + 2 + 3) * _ (1 + 2 + 3) |
要想把多行代碼寫成一行,要用冒號(hào)(:)作分隔符。例如:
a = 1 b = 2 c = 3'寫成一行a = 1 : b = 2 : c = 3 |
等號(hào)(=)一般表示賦值,而不同于數(shù)學(xué)公式中的等號(hào)。例如a=25:a=30這兩句代碼的意思是:
a的值是25,后來a的值又變成30了;而作為數(shù)學(xué)公式,a如果已經(jīng)等于25了,就不能再等于30。
VBScript的語句,初學(xué)者學(xué)會(huì)兩個(gè)就夠用了,If語句和For語句。
如果你對(duì)過程(Sub)和函數(shù)(Function)分不清楚的話,沒關(guān)系,都用函數(shù)好了。
+加-減*乘/除
\整除Mod求余數(shù) (例如a=7\3和b=7 Mod 3,結(jié)果分別是a=2 b=1)
=等于<>不等于
>大于<小于>=大于等于<=小于等于
Not不(邏輯非)And并且(邏輯與)Or或者(邏輯或)
&字符串連接 字符串連接有時(shí)也可以用+號(hào),但+不能直接連接數(shù)字。例如:
s = "a" & "b"'結(jié)果是s="ab" s = "a" + "b"'結(jié)果是s="ab" s = 1 & 2'結(jié)果是s="12" s = 1 + 2'結(jié)果是s=3 s = "1" + "2"'結(jié)果是s="12" 算式中沒有大、中、小括號(hào)之分,全部寫成小括號(hào)。 例如:a=[2-3*(2+5)]/6 要寫成a=(2-3*(2+5))/6 |
VBScript中變量可以不聲明,直接使用。但有時(shí)不聲明會(huì)出錯(cuò),所以建議養(yǎng)成聲明變量的好習(xí)慣。
聲明變量的方法是在使用變量之前,加一行Dim [變量名]代碼,例如:
Dim var1
聲明多個(gè)變量時(shí),使用逗號(hào)分隔變量。例如:
Dim a, b, c
變量名必須以字母開頭,不能包含空格或標(biāo)點(diǎn)符號(hào)。
(VBScript只有一個(gè)數(shù)據(jù)類型,即Variant,所以不要Dim...As,直接Dim就行了。)
常見的Variant數(shù)據(jù)子類型有字符串(代表一串文本)、整數(shù)、小數(shù)、日期等。
字符串值一定要寫在雙引號(hào)中,例如:s = "How are you?"
運(yùn)算時(shí)經(jīng)常會(huì)需要對(duì)子類型進(jìn)行轉(zhuǎn)換,下面介紹幾種常用的轉(zhuǎn)換方法:
a = CStr(123)'把數(shù)字123轉(zhuǎn)為字符串"123" b = CSng(12.3)'把"12.3"轉(zhuǎn)為小數(shù)(單精度浮點(diǎn)數(shù))12.3 c = CInt(12.6)'把12.6轉(zhuǎn)為整數(shù)13(四舍五入) d = Int(12.6)'把12.6轉(zhuǎn)為整數(shù)12(保留整數(shù)部分) e = Int("&Hff")'把十六進(jìn)制數(shù)0xff轉(zhuǎn)為十進(jìn)制255 f = Hex(255)'把十進(jìn)制255數(shù)轉(zhuǎn)為十六進(jìn)制FF |
單行的If語句格式,參考下面的例子
If a > 0 Then b = "a大于0"'意思是:如果a>0,則b="a大于0" If a > 0 And b > 0 Then c = "ab都大于0"'意思是:如果a>0,并且b>0,則c="ab都大于0" If a > 0 Or b > 0 Then c = "a或b大于0"'意思是:如果a>0,或者b>0,則c="a或b大于0" |
如果Then后面有多行,結(jié)尾處要寫End If
Ifa > 0 Then b = "a大于0嗎?" c = "是的" End If |
If(如果)...Else(如果不)
If a > 0 Then b = "a大于0" Else b = "a小于等于0" End If'意思是:如果a>0,則b="a大于0"' 若非如此,則b="a小于等于0" |
要是有多種可能,在If和Else之間加入ElseIf,可加入多個(gè)ElseIf。
Ifa > 0 Then b = "a大于0" ElseIf a < 0 b = "a小于0" Else b = "a等于0" End If |
For循環(huán)語句中的代碼可以運(yùn)行很多遍。“For i=1 To 3”代表運(yùn)行3遍。
網(wǎng)頁中很多惡意代碼就是用這個(gè)語句實(shí)現(xiàn)的,比如你點(diǎn)一個(gè)網(wǎng)頁鏈接,就會(huì)彈出十幾個(gè)廣告窗口。
For i=1 To 3 MsgBox("這是第" & i & "遍")Next'意思是彈出3遍信息窗口 |
下例中,Step后面的數(shù)字代表i的增量,指i從1到10000每次增加2。Exit For表示終止循環(huán),可以提前結(jié)束循環(huán)。
For i=1 To10000 Step 2 MsgBox("i的值為" & i) if i > 3 then Exit For'i>3時(shí)結(jié)束循環(huán) Next |
函數(shù)可以把很多行代碼成組,組成一個(gè)命令來執(zhí)行。
下面的例子,“sayHello”是函數(shù)的名字,是由用戶自己定義的。定義好函數(shù)后,我們以后只要寫一句sayHello()
,就可以一下子執(zhí)行sayHello定義中的三行代碼。
Function sayHello() Dim s s = "Hello World!" MsgBox(s) End Function'調(diào)用這個(gè)函數(shù)sayHello() |
函數(shù)也可以定義為運(yùn)算求值的過程。下面的例子,小括號(hào)里的a,b代表要輸入的參數(shù),是兩個(gè)變量,變量名自己隨便起。
Add=a+b的Add代表函數(shù)返回值,必須是函數(shù)的名字。
Function Add(a,b) Add= a + b End Function'調(diào)用這個(gè)函數(shù)c =Add(1,2)'運(yùn)行結(jié)果:c=1+2=3 |
聯(lián)系客服