網(wǎng)站建設(shè)Sub過(guò)程Sub過(guò)程簡(jiǎn)稱為過(guò)程,Sub過(guò)程是包含在Sub和End Sub語(yǔ)句之間的一組VBScript語(yǔ)句,執(zhí)行操作但不返回值。
1) Sub過(guò)程定義
用Sub語(yǔ)句來(lái)聲明Sub過(guò)程的名稱、參數(shù)以及構(gòu)成其主體的代碼,語(yǔ)法格式如下:
[Public}Private] Sub name [(arglist)]
[Statements]
[Exit Sub]
Statements3
End sub
其中,Public表示Sub過(guò)程可以被所有腳本中的所有其他過(guò)程訪問(wèn);Private表示Sub過(guò)程只可以被聲明該過(guò)程的腳本中的其他過(guò)程訪問(wèn);name指定Sub過(guò)程的名稱,應(yīng)遵循標(biāo)準(zhǔn)變量命名約定;Statements是在Sub過(guò)程主體內(nèi)所執(zhí)行的任何語(yǔ)句組;使用Exit Sub語(yǔ)句可以從Sub過(guò)程中強(qiáng)制退出,程序回到主調(diào)過(guò)程中繼續(xù)執(zhí)行調(diào)用Sub過(guò)程之后的語(yǔ)句,arglist是在調(diào)用時(shí)要傳遞給Sub過(guò)程的參數(shù)的變量列表,即形式參數(shù)列表,用逗號(hào)隔開(kāi)多個(gè)變量,ar-giist參數(shù)的語(yǔ)法格式為:
[ByVal 丨 ByRef] varname[()]
在上述語(yǔ)法格式中,ByVal表示該參數(shù)是按值傳遞的,也就是將參數(shù)的值而不是地址傳遞給過(guò)程,并允許過(guò)程訪問(wèn)變童的一個(gè)副本,但是不能更改變量的實(shí)際值;ByRef表示該參數(shù)按引用傳遞,也就是將參數(shù)的地址而不是值傳遞給過(guò)程,并允許過(guò)程訪問(wèn)和更改實(shí)際變量;var-name代表參數(shù)的變量名稱,遵循標(biāo)準(zhǔn)變量命名規(guī)則。
使用Sub語(yǔ)句聲明Sub過(guò)程時(shí),需注意以下幾點(diǎn):
①Sub過(guò)程可以使用參數(shù),如果Sub過(guò)程無(wú)任何參數(shù),則Sub語(yǔ)句必須包含空括號(hào)()。
②Sub過(guò)程被執(zhí)行時(shí)沒(méi)有返回值。
③如果沒(méi)有顯式地指定使用Public或Private,則Sub過(guò)程默認(rèn)為Public,即它們對(duì)于腳本中的所有其他過(guò)程都是可見(jiàn)的。
④Sub過(guò)程中局部變量的值在對(duì)過(guò)程的調(diào)用結(jié)束后不被保留.
⑤不能在任何其他過(guò)程中再定義Sub過(guò)程,即過(guò)程的定義不能嵌套。
⑥在Sub過(guò)程中可以使用兩類變量:一類是在過(guò)程中顯式聲明的,另一類是未在過(guò)程中顯式聲明的,這兩類變量都是局部變量,除非在該過(guò)程外更高級(jí)別的位置顯式地聲明它們。
如果過(guò)程中引用的未聲明的變量與其他的過(guò)程、常量或變量的名稱相同,則會(huì)認(rèn)為過(guò)程引用的是腳本級(jí)的名稱。要避免這類沖突,請(qǐng)使用Option Explicit語(yǔ)句強(qiáng)制顯式聲明變量。
腦筋急轉(zhuǎn)彎
問(wèn)題1.桌子上有12支點(diǎn)燃的蠟燭.先被風(fēng)吹滅了3根,不久又一陣風(fēng)吹滅了2根,最后桌子上還剩幾根蠟燭?
問(wèn)題2. ix一一一這是羅馬數(shù)字代表9,怎樣加一筆,使其變成偶數(shù)?