第3章VBScript腳本語言基礎(chǔ).ppt_第1頁
第3章VBScript腳本語言基礎(chǔ).ppt_第2頁
第3章VBScript腳本語言基礎(chǔ).ppt_第3頁
第3章VBScript腳本語言基礎(chǔ).ppt_第4頁
第3章VBScript腳本語言基礎(chǔ).ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第3章 VBScript腳本語言基礎(chǔ),3.1 VBScript概述,3.2 VBScript基本元素,3.3 基本輸入輸出,3.4 條件語句,3.5 循環(huán)語句,3.6 過程,3.7 文檔對(duì)象模型,第3章 VBScript腳本語言基礎(chǔ),3.1 VBScript概述 3.1.1 什么是VBScript VBScript是程序開發(fā)語言Visual Basic家族的最新成員,可以將 靈活的腳本應(yīng)用于更廣泛的領(lǐng)域,包括Microsoft Internet Explorer 中的Web客戶端腳本和Microsoft Internet Information Server中的Web 服務(wù)器端腳本。 VBSc

2、ript腳本語言有以下主要特點(diǎn): (1) 易學(xué)易用。如果讀者已經(jīng)了解Visual Basic或Visual Basic for Applications,就會(huì)很快熟悉VBScript。 (2) ActiveX腳本。VBScript使用ActiveX腳本與宿主應(yīng)用程序?qū)υ?;所用的腳本編寫引擎是vbscript.dll,該引擎能夠識(shí)別VBScript代碼;腳本編寫宿主是使用腳本編寫引擎的應(yīng)用程序,Internet Explorer就是宿主應(yīng)用程序的一個(gè)例子,它通過引擎來運(yùn)行腳本。 (3) 其他應(yīng)用程序和瀏覽器中的VBScript。開發(fā)者可以在其產(chǎn)品中免費(fèi)使用VBScript來實(shí)現(xiàn)程序。,3.1.2

3、 在HTML頁面中添加VBScript代碼 通常將VBScript腳本代碼放在HEAD部分中,以使所有腳本代碼集中放置,這樣能確保在BODY部分調(diào)用代碼之前讀取并解碼所有腳本代碼。在HTML頁面中添加VBScript腳本代碼時(shí),應(yīng)以標(biāo)記開始,而以標(biāo)記結(jié)束,基本語法格式為: ,第3章 VBScript腳本語言基礎(chǔ),標(biāo)記具有以下三個(gè)屬性: (1) LANGUAGE:指定腳本代碼所使用的腳本語言。對(duì)于Internet Explorer瀏覽器來說,該屬性的取值可以是“VBScript”或“JScript”,前者也可以簡寫為“VBS”。 (2) EVENT:指定與腳本代碼相關(guān)聯(lián)的事件。 (3) FOR:

4、指定與事件相關(guān)聯(lián)的對(duì)象。 【例3.1】演示,第3章 VBScript腳本語言基礎(chǔ),3.2 VBScript基本元素 3.2.1 數(shù)據(jù)類型 在VBScript語言中只有一種數(shù)據(jù)類型,即Variant,這種數(shù)據(jù)類 型可以包含不同類別的信息,它也是VBScript中所有函數(shù)的返回值 的數(shù)據(jù)類型。Variant包含的數(shù)值信息類型稱為子類型,包括: Empty:未初始化的Variant。 Null:不包含任何有效數(shù)據(jù)的Variant Boolean:包含True或False Byte:包含0到255之間的整數(shù) Integer:包含-32,768到32,767之間的整數(shù) Currency:-922,337

5、,203,685,477.5808到922,337,203,685,477.5807 Long:包含-2,147,483,648到2,147,483,647之間的整數(shù) Single:包含單精度浮點(diǎn)數(shù) Double包含雙精度浮點(diǎn)數(shù) Date(Time):含表示日期的數(shù)字 String:包含變長字符串,最大長度可為20億個(gè)字符 Object:包含對(duì)象 Error:包含錯(cuò)誤號(hào),第3章 VBScript腳本語言基礎(chǔ),3.2.2 VBScript常量 1. 普通常量 普通常量分為字符串常量和數(shù)值常量兩種。 字符串常量簡稱字符串,它由一對(duì)雙引號(hào)括起來的字符序列所組成, 其中可以包含字母、漢字、數(shù)字,空格以

6、及標(biāo)點(diǎn)符號(hào)等,長度不超過20億 個(gè)字符。例如,“ASP動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)”,“Microsoft Explorer瀏覽器”。 數(shù)值常量分為整型數(shù)、長整型數(shù)和浮點(diǎn)數(shù)。整型數(shù)和長整型數(shù)都可以 用十進(jìn)制、十六進(jìn)制和八進(jìn)制三種形式來表示。使用十六進(jìn)制數(shù)時(shí),應(yīng)在 數(shù)字前面加上&H前綴;使用八進(jìn)制數(shù)時(shí),應(yīng)在數(shù)字前面加上&O前綴。對(duì) 于長整型數(shù),使用十六進(jìn)制或八進(jìn)制形式表示時(shí),還要在數(shù)字后面加上后 綴&。浮點(diǎn)數(shù)也稱為實(shí)型數(shù),分為單精度浮點(diǎn)數(shù)和雙精度浮點(diǎn)數(shù)。浮點(diǎn)數(shù) 可以用小數(shù)形式表示,也可以用科學(xué)記數(shù)法表示。,第3章 VBScript腳本語言基礎(chǔ),2. 符號(hào)常量 符號(hào)常量是用一個(gè)標(biāo)識(shí)符表示的常量,用于代替數(shù)字或字符

7、串,其值從發(fā)生不改變。在VBScript中,符號(hào)常量分為預(yù)定義符號(hào)常量和用戶自定義常量。 VBScript提供了許多預(yù)定義符號(hào)常量,在編寫腳本代碼時(shí)無須聲明即可直接使用。例如,vbCrLf表示回車符和換行符的組合,vbGreen表示綠色的數(shù)值。,第3章 VBScript腳本語言基礎(chǔ),3.2.3 VBScript變量 1. 聲明變量 在VBScript中,通常使用Dim語句顯式聲明變量并分配存儲(chǔ)空間,語 法格式如下: Dim 變量名, 變量名 例如,下面的兩個(gè)語句分別聲明了一個(gè)變量和四個(gè)變量: Dim UserName Dim Top, Bottom, Left, Right 此外,也可以通過直

8、接在腳本中使用變量名這種方式隱式聲明變量。但這 通常不是一個(gè)好習(xí)慣,因?yàn)檫@樣有時(shí)會(huì)由于變量名被拼錯(cuò)而導(dǎo)致在運(yùn)行腳 本時(shí)出現(xiàn)意外的結(jié)果。若要強(qiáng)制顯式聲明所有變量,可以在腳本程序的開 頭處使用下面的語句: Option Explicit 2. 命名規(guī)則 每一個(gè)變量都必須用一個(gè)標(biāo)識(shí)符來作為其名稱。變量命名必須遵循 VBScript的標(biāo)準(zhǔn)命名規(guī)則。變量的命名規(guī)則為:第一個(gè)字符必須是字母; 不能包含嵌入的句點(diǎn)(.); 長度不能超過255個(gè)字符;在被聲明的作用域 內(nèi)必須唯一;不能與VBScript的關(guān)鍵詞相同。,第3章 VBScript腳本語言基礎(chǔ),3. 變量的作用域與存活期 變量的作用域由聲明它的位置決

9、定。如果在過程中聲明變量,則只有 該過程中的代碼可以訪問或更改變量值,此時(shí)變量具有局部作用域并被稱 為過程級(jí)變量。如果在過程之外聲明變量,則該變量可以被腳本中所有過 程所識(shí)別,稱為腳本級(jí)變量,具有腳本級(jí)作用域。 變量存在的時(shí)間稱為存活期。腳本級(jí)變量的存活期從被聲明的一刻起, 直到腳本運(yùn)行結(jié)束。對(duì)于過程級(jí)變量,其存活期僅是該過程運(yùn)行的時(shí)間, 該過程結(jié)束后,變量隨之消失。在執(zhí)行過程時(shí),局部變量是理想的臨時(shí)存 儲(chǔ)空間。在不同過程中可以使用同名的局部變量,這是因?yàn)槊總€(gè)局部變量 只被聲明它的過程識(shí)別。 4. 給變量賦值 在VBScript中,可以通過賦值語句指定變量的值,此時(shí)變量位于等號(hào) 的左邊,要賦的

10、值位于等號(hào)的右邊,該值可以是任何數(shù)值、字符串、常數(shù) 或表達(dá)式。例如: UserName = 張三豐 BirthDate = #1972-5-28# WeekWage = 500,第3章 VBScript腳本語言基礎(chǔ),5. 標(biāo)量變量和數(shù)組變量 只包含一個(gè)值的變量稱為標(biāo)量變量。包含一系列值的變量稱為數(shù)組變 量。數(shù)組變量和標(biāo)量變量是以相同的方式聲明的,唯一的區(qū)別是聲明數(shù)組 變量時(shí)變量名后面帶有括號(hào)( )。下面的語句聲明了一個(gè)一維數(shù)組: Dim A(10) 雖然括號(hào)中顯示的數(shù)字是10,但由于在VBScript中所有數(shù)組都是基于 0的,所以這個(gè)數(shù)組實(shí)際上包含11個(gè)元素。在基于0的數(shù)組中,數(shù)組元素的 數(shù)目

11、總是括號(hào)中顯示的數(shù)目加1。這種數(shù)組被稱為固定大小的數(shù)組,簡稱 為定長數(shù)組。 在數(shù)組中,使用數(shù)組名和索引來引用數(shù)組的每個(gè)元素,語法格式如下: 數(shù)組名(索引值) 下面的賦值語句將數(shù)據(jù)賦給數(shù)組元素,或者將數(shù)組元素的值賦給變量: A(0) = 256:A(1) = 368:A(2) = 121:SomeVariable = A(8),第3章 VBScript腳本語言基礎(chǔ),數(shù)組并不僅限于一維。數(shù)組的維數(shù)最大可以為60。聲明多維數(shù)組時(shí), 使用逗號(hào)分隔括號(hào)中每個(gè)表示數(shù)組大小的數(shù)字。 例如,下面語句聲明了一個(gè)有6行和11列的二維數(shù)組,其名稱為MyTable: Dim MyTable(5, 10) 聲明二維數(shù)組

12、時(shí),括號(hào)中的第一個(gè)數(shù)字表示行的最大索引值,第二個(gè) 數(shù)字表示列的最大索引值。,第3章 VBScript腳本語言基礎(chǔ),6. 動(dòng)態(tài)數(shù)組 動(dòng)態(tài)數(shù)組是在運(yùn)行腳本時(shí)大小發(fā)生變化的數(shù)組。對(duì)動(dòng)態(tài)數(shù)組的 最初聲明可以使用Dim語句或ReDim語句來實(shí)現(xiàn),但括號(hào)中不能包 含任何數(shù)字。例如: Dim MyArray() ReDim AnotherArray() 若要使用動(dòng)態(tài)數(shù)組,必須隨后使用ReDim確定維數(shù)和每一維的 大小。例如,下面的ReDim語句將動(dòng)態(tài)數(shù)組的初始大小設(shè)置為25, 而后面的ReDim語句將數(shù)組的大小重新調(diào)整為30,同時(shí)使用 Preserve關(guān)鍵字在重新調(diào)整大小時(shí)保留數(shù)組的內(nèi)容。 ReDim My

13、Array(25) ReDim Preserve MyArray(30) 重新調(diào)整動(dòng)態(tài)數(shù)組大小的次數(shù)是沒有任何限制的,但是應(yīng)注意, 將數(shù)組的大小調(diào)小時(shí),將會(huì)丟失被刪除元素的數(shù)據(jù)。,第3章 VBScript腳本語言基礎(chǔ),3.2.4 VBScript運(yùn)算符 1. 算術(shù)運(yùn)算符 VBScript提供了九個(gè)算術(shù)運(yùn)算符,用來執(zhí)行簡單的算術(shù)運(yùn)算。 (1) 求冪運(yùn)算符():result = number exponent (2) 乘法運(yùn)算符(*):result = number1 * number2 (3) 除法運(yùn)算符(/):result = number1 / number2 (4) 整除運(yùn)算符():res

14、ult = number1 number2 (5) 求余運(yùn)算符(Mod):result = number1 Mod number2 (6) 加法運(yùn)算符():result = expression1 + expression2 (7) 減法運(yùn)算符(): result = number1- number2(減法) - number(負(fù)號(hào)),第3章 VBScript腳本語言基礎(chǔ),2. 連接運(yùn)算符 連接運(yùn)算符(&)強(qiáng)制兩個(gè)表達(dá)式進(jìn)行字符串連接,語法格式 如下: result = expression1 & expression2 其中result為任意變量,expression1和expression

15、2都是任意表達(dá) 式。當(dāng)任一expression不是字符串時(shí),它將被轉(zhuǎn)換為String子類型。 如果兩個(gè)表達(dá)式都是Null,則result也為Null。然而,如果僅有一個(gè) expression為Null,則它和其他表達(dá)式連接時(shí),按零長度字符串() 處理。任何表達(dá)式為Empty時(shí)也按零長度字符串處理。,第3章 VBScript腳本語言基礎(chǔ),3. 比較運(yùn)算符 比較運(yùn)算符用于比較表達(dá)式,包括: (大于) =(大于或等于) =(等于) (不等于) 比較表達(dá)式的規(guī)則或結(jié)果 若兩個(gè)表達(dá)式都是數(shù)值,則執(zhí)行數(shù)值比較;若兩個(gè)表達(dá)式都是字符串, 則執(zhí)行字符串比較;若一個(gè)表達(dá)式是數(shù)值而另一個(gè)是字符串,則數(shù)值表達(dá) 式小

16、于字符串表達(dá)式;若一個(gè)表達(dá)式是數(shù)值而另一個(gè)是字符串,則數(shù)值表 達(dá)式小于字符串表達(dá)式;若一個(gè)表達(dá)式是Empty而另一個(gè)是數(shù)值,則執(zhí)行 數(shù)值比較,使用0作為Empty表達(dá)式;若一個(gè)表達(dá)式是Empty而另一個(gè)是字 符串,則執(zhí)行字符串比較,使用零長度字符串(“”)為Empty表達(dá)式;若 兩個(gè)表達(dá)式都是Empty,則表達(dá)式相等。,第3章 VBScript腳本語言基礎(chǔ),4. 邏輯運(yùn)算符 (1) Not運(yùn)算符:對(duì)表達(dá)式執(zhí)行邏輯非運(yùn)算,語法格式如下: result = Not expression (2) And運(yùn)算符:對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯“與”運(yùn)算,語法格式如下: result = expression1

17、And expression2 And運(yùn)算符還可以對(duì)兩個(gè)數(shù)值表達(dá)式中位置相同的位執(zhí)行逐位比較。 (3) Or運(yùn)算符:對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯“或”運(yùn)算,語法格式如下: result = expression1 Or expression2 Or運(yùn)算符還可以對(duì)兩個(gè)數(shù)值表達(dá)式中位置相同的位執(zhí)行逐位比較。 (4) Xor運(yùn)算符:對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯“異或”運(yùn)算,語法格式如下: result = expression1 Xor expression2 Xor運(yùn)算符還可以對(duì)兩個(gè)數(shù)值表達(dá)式中位置相同的位執(zhí)行逐位比較。 (5) Eqv運(yùn)算符:執(zhí)行兩個(gè)表達(dá)式的邏輯等價(jià)運(yùn)算,語法格式為: result = expr

18、ession1 Eqv expression2 Eqv運(yùn)算符還可以執(zhí)行兩個(gè)數(shù)值表達(dá)式相應(yīng)位的逐位比較。 (6) Imp運(yùn)算符:對(duì)兩個(gè)表達(dá)式進(jìn)行邏輯蘊(yùn)涵運(yùn)算,語法格式如下: result = expression1 Imp expression2 Imp運(yùn)算符還可以執(zhí)行兩個(gè)數(shù)值表達(dá)式相應(yīng)位的逐位比較。,第3章 VBScript腳本語言基礎(chǔ),5. 運(yùn)算符優(yōu)先級(jí) 當(dāng)表達(dá)式包含多個(gè)運(yùn)算符時(shí),將按預(yù)定順序計(jì)算每一部分,這 個(gè)順序被稱為運(yùn)算符優(yōu)先級(jí)。使用括號(hào)可以越過這種優(yōu)先級(jí)順序, 強(qiáng)制首先計(jì)算表達(dá)式的某些部分。運(yùn)算時(shí),總是先執(zhí)行括號(hào)中的 運(yùn)算符,然后再執(zhí)行括號(hào)外的運(yùn)算符。但在括號(hào)中仍要遵循標(biāo)準(zhǔn) 運(yùn)算符優(yōu)

19、先級(jí)。 當(dāng)表達(dá)式包含多種運(yùn)算符時(shí),首先計(jì)算算術(shù)運(yùn)算符,然后計(jì)算 比較運(yùn)算符,最后計(jì)算邏輯運(yùn)算符。所有比較運(yùn)算符的優(yōu)先級(jí)相 同,即按照從左到右的順序計(jì)算比較運(yùn)算符。,第3章 VBScript腳本語言基礎(chǔ),3.3 基本輸入輸出 3.3.1 基本語句 賦值語句將表達(dá)式的值賦給變量或?qū)傩?。如果要將?duì)象引用賦給變量 或?qū)傩?,則不能使用賦值語句,而應(yīng)使用Set語句,其語法格式如下: Set objectvar = objectexpression | New classname | Nothing 其中objectvar用于指定變量或?qū)傩缘拿Q,objectexpression是由對(duì)象 名稱、另一個(gè)已聲明

20、為相同對(duì)象類型的變量或返回相同對(duì)象類型的對(duì)象的 函數(shù)或方法組成的表達(dá)式,New關(guān)鍵字用于創(chuàng)建新的類的實(shí)例,classname 是類名,Nothing用于停止objectvar與任何指定對(duì)象或類的關(guān)聯(lián)。 使用注釋語句添加說明性文字,語法格式如下: 注釋文字 編寫VBScript腳本代碼時(shí),通常是在一行上寫一個(gè)語句。但有些語句 很短,可將多個(gè)語句寫在同一行中,并使用冒號(hào)(:)來分隔各個(gè)語句: X = T : T = Y : Y = T 交換變量X和Y的內(nèi)容 對(duì)于比較長的語句,可以使用續(xù)行符將其分成多行,續(xù)行符由一個(gè)空 格和一個(gè)下劃線符號(hào)組成。通過使用續(xù)行符,可以在第二個(gè)物理行上繼續(xù) 上一個(gè)邏輯行上

21、的內(nèi)容。例如: msg = 白日依日盡,黃河入海流。 & vbCrLf & _ 欲窮千里目,更上一層樓。,第3章 VBScript腳本語言基礎(chǔ),3.3.2 MsgBox函數(shù) MsgBox函數(shù)在對(duì)話框中顯示消息,等待用戶單擊按鈕,并返 回一個(gè)值指示用戶單擊的按鈕,語法格式如下: MsgBox(prompt, buttons, title, helpfile, context) 其中prompt參數(shù)是顯示在對(duì)話框中的字符串表達(dá)式,其最大長 度大約是1024個(gè)字符;buttons是一個(gè)數(shù)值表達(dá)式,用于指定顯示按 鈕的數(shù)目和類型、使用的圖標(biāo)樣式,其默認(rèn)值為0;title是顯示在 對(duì)話框標(biāo)題欄中的字符串

22、表達(dá)式;helpfile是字符串表達(dá)式,用于 標(biāo)識(shí)為對(duì)話框提供上下文相關(guān)幫助的幫助文件;context是數(shù)值表達(dá) 式,用于標(biāo)識(shí)由幫助文件的作者指定給某個(gè)幫助主題的上下文編 號(hào)。 【例3.2】演示,第3章 VBScript腳本語言基礎(chǔ),3.3.3 InputBox函數(shù) InputBox函數(shù)在對(duì)話框中顯示提示,等待用戶輸入文本或單擊按鈕, 并返回文本框內(nèi)容,語法格式如下: InputBox(prompt, title, default, xpos, ypos, helpfile, context) 其中prompt參數(shù)是顯示在對(duì)話框中的字符串表達(dá)式,其最大長度大約 是1024個(gè)字符;title是顯

23、示在對(duì)話框標(biāo)題欄中的字符串表達(dá)式;default是 顯示在文本框中的字符串表達(dá)式,在沒有其他輸入時(shí)作為默認(rèn)的響應(yīng)值, 如果省略default,則文本框?yàn)榭眨粁pos是數(shù)值表達(dá)式,用于指定對(duì)話框的 左邊緣與屏幕左邊緣的水平距離(單位為緹),如果省略xpos,則對(duì)話框 會(huì)在水平方向居中;ypos也是數(shù)值表達(dá)式,用于指定對(duì)話框的上邊緣與屏 幕上邊緣的垂直距離(單位為緹),如果省略ypos,則對(duì)話框顯示在屏幕 垂直方向距下邊緣大約三分之一處;helpfile和context參數(shù)與MsgBox函數(shù) 中的相應(yīng)參數(shù)意義相同。 如果用戶單擊“確定”按鈕或按下Enter鍵,則InputBox函數(shù)返回文本框 中的

24、內(nèi)容。如果用戶單擊“取消”按鈕或按下Esc鍵,則InputBox函數(shù)返回一 個(gè)零長度字符串()。 【例3.3】演示,第3章 VBScript腳本語言基礎(chǔ),3.4 條件語句 3.4.1 If.Then.Else語句 If.Then.Else語句簡稱If語句,用于計(jì)算條件是否為True或False,并 且根據(jù)計(jì)算結(jié)果指定要執(zhí)行的語句。If.Then.Else語句有兩種形式:即單 行形式和塊形式。 1. If語句的單行形式 對(duì)于If語句的單行形式,可以將其語法格式表示如下: If condition Then statements Else elsestatements 其中condition是一個(gè)

25、數(shù)值或字符串表達(dá)式,其運(yùn)算結(jié)果是True或False, 如果condition為Null,則condition被視為False;condition也可以是形如 TypeOf objectname Is objecttype的表達(dá)式,其中objectname是任何對(duì)象 的引用,而objecttype則是任何有效的對(duì)象類型,如果objectname是objecttype所指定的一種對(duì)象類型,則表達(dá)式為True,否則為False。statements和elsestatements是一條語句或以冒號(hào)分開的多條語句。 當(dāng)未用Else子句時(shí),如果condition為True,則執(zhí)行statements,否

26、則執(zhí) 行下一條語句;當(dāng)使用Else子句時(shí),如果condition為True,則執(zhí)行 statements,否則執(zhí)行elsestatements。,第3章 VBScript腳本語言基礎(chǔ),2. If語句的塊形式 語法格式表示如下: If condition Then statements ElseIf condition-n Then elseifstatements Else elsestatements End If 其中condition、condition-n的意義同單行形式中的condition, statements、elseifstatements和elsestatements都是一

27、條語句或以冒號(hào)分開 的多條語句。,第3章 VBScript腳本語言基礎(chǔ),當(dāng)程序運(yùn)行到塊形式時(shí),將測(cè)試condition。如果condition為True,則執(zhí)行Then之后的語句。 如果condition為False,則每個(gè)ElseIf部分的條件表達(dá)式(如果有的話)會(huì)依次計(jì)算并加以測(cè)試。當(dāng)找到某個(gè)為True的條件時(shí),則其相關(guān)的Then之后的語句會(huì)被執(zhí)行。 如果沒有任何一個(gè)ElseIf語句中的條件是True或沒有使用ElseIf子句,則將執(zhí)行Else之后的語句。 執(zhí)行Then或Else之后的語句以后,將繼續(xù)執(zhí)行End If之后的語句。 【例3.4】演示,第3章 VBScript腳本語言基礎(chǔ),第3

28、章 VBScript腳本語言基礎(chǔ),3.4.2 Select Case語句 Select Case testexpression Case expressionlist-n statements-n . Case Else expressionlist-n elsestatements-n End Select 其中testexpression是任意數(shù)值或字符串表達(dá)式,expressionlist-n是一個(gè) 或多個(gè)表達(dá)式的分界列表。statements-n是當(dāng)testexpression與expressionlist-n 中的任意部分匹配時(shí)執(zhí)行的一條或多條語句。elsestatements-n是

29、當(dāng) testexpression與Case子句的任何部分不匹配時(shí)執(zhí)行的一條或多條語句。,如果testexpression與任何Case expressionlist表達(dá)式匹配,則執(zhí)行此Case子句與下一個(gè)Case子句之間的語句,對(duì)于最后的子句,則會(huì)執(zhí)行該子句到End Select之間的語句,然后控制權(quán)會(huì)轉(zhuǎn)到End Select之后的語句。 如果testexpression與多個(gè)Case子句中的expressionlist表達(dá)式匹配,則只有第一個(gè)匹配表達(dá)式后的語句被執(zhí)行。 Case Else用于指示若在testexpression和任何其他Case選項(xiàng)的expressionlist之間未找到匹配

30、,則執(zhí)行elsestatements。 如果沒有Case expressionlist與testexpression匹配且無Case Else語句,則繼續(xù)執(zhí)行End Select之后的語句。 【例3.5】演示,第3章 VBScript腳本語言基礎(chǔ),第3章 VBScript腳本語言基礎(chǔ),3.5 循環(huán)語句 3.5.1 Do.Loop語句 第一種語法格式:第二種語法格式: Do While | Until condition Do statements statements Exit Do Exit Do statements statements Loop Loop While | Until c

31、ondition 在Do.Loop語句的語法格式中,condition是數(shù)值或字符串表達(dá)式, 其值為True或False,如果condition為Null,則condition被當(dāng)作False。 statements是當(dāng)condition為True時(shí)被重復(fù)執(zhí)行的一個(gè)或多個(gè)語句。 While關(guān)鍵字用于檢查Do.Loop語句中的條件。有兩種方式檢查條 件: 在進(jìn)入循環(huán)之前檢查條件;或者在循環(huán)至少運(yùn)行完一次之后檢查條件。 只要條件為True,就會(huì)進(jìn)行循環(huán)。一旦條件變成False,則退出循環(huán)。,Until關(guān)鍵字也用于檢查Do.Loop 語句中的條件。有兩種方式檢查條件:在進(jìn)入循環(huán)之前檢查條件;或者在循

32、環(huán)至少運(yùn)行完一次之后檢查條件。 只要條件為False,就會(huì)進(jìn)行循環(huán)。一旦條件變成True,則退出循環(huán)。 【例3.6】演示,第3章 VBScript腳本語言基礎(chǔ),第3章 VBScript腳本語言基礎(chǔ),3.5.2 While.Wend語句 While.Wend語句當(dāng)指定的條件為True時(shí)執(zhí)行一系列的語句, 語法格式如下: While condition statements Wend 其中condition是數(shù)值或字符串表達(dá)式,其計(jì)算結(jié)果為True或 False。如果condition為Null,則condition被當(dāng)作False。statements在條件為True時(shí)執(zhí)行的一條或多條語句。 如

33、果condition為True,則statements中所有Wend語句之前的 語句都將被執(zhí)行,然后控制權(quán)返回到While語句,并且重新檢查 condition。如果condition仍為True,則重復(fù)執(zhí)行上面的過程。如果 不為True,則從Wend語句之后的語句處繼續(xù)執(zhí)行程序。 While.Wend循環(huán)可以是多層嵌套結(jié)構(gòu)。每個(gè)Wend與最近的 While語句對(duì)應(yīng)。,第3章 VBScript腳本語言基礎(chǔ),3.5.3 For.Next語句 For counter = start To end Step step statements Exit For statements Next 其中cou

34、nter是用作循環(huán)計(jì)數(shù)器的數(shù)值變量,不能是數(shù)組元素;start和end 分別是counter的初值和終值;step是counter的步長,其默認(rèn)值為1;statements是For和Next之間的一條或多條語句,將被執(zhí)行指定次數(shù)。 step參數(shù)可以是正數(shù)或負(fù)數(shù)。step參數(shù)值決定循環(huán)的執(zhí)行情況: 當(dāng)step參數(shù)是正數(shù)或0時(shí),若counter = end,則執(zhí)行循環(huán)。 當(dāng)循環(huán)啟動(dòng)并且所有循環(huán)中的語句都執(zhí)行后,step值被加到counter中。這 時(shí),或者循環(huán)中的語句再次執(zhí)行(基于循環(huán)開始執(zhí)行時(shí)同樣的測(cè)試),或者退出 循環(huán)并從Next語句之后的語句處繼續(xù)執(zhí)行。 【例3.7】演示,第3章 VBScr

35、ipt腳本語言基礎(chǔ),3.5.4 For Each.Next循環(huán) For Each element In group statements Exit For statements Next element 其中element用來枚舉集合或數(shù)組中所有元素的變量,group是對(duì)象集合 或數(shù)組的名稱,statements是對(duì)于group中的每一項(xiàng)執(zhí)行的一條或多條語句。如果group中有至少一個(gè)元素,就會(huì)進(jìn)入For Each塊執(zhí)行。一旦進(jìn)入循 環(huán),便首先對(duì)group中第一個(gè)元素執(zhí)行循環(huán)中的所有語句。只要group中還有 其他元素,就會(huì)對(duì)每個(gè)元素執(zhí)行循環(huán)中的語句。當(dāng)group中沒有其他元素時(shí)退 出循環(huán),然

36、后從Next語句之后的語句處繼續(xù)執(zhí)行。 可以將一個(gè)For Each.Next循環(huán)放置在另一個(gè)之中,組成嵌套式 For Each.Next循環(huán)。但是每個(gè)循環(huán)的element必須是唯一的。如果省略 Next語句中的element,則程序仍會(huì)像已包含它一樣繼續(xù)執(zhí)行。如果Next語 句在相應(yīng)的For語句之前出現(xiàn),則會(huì)產(chǎn)生錯(cuò)誤?!纠?.8】演示,第3章 VBScript腳本語言基礎(chǔ),3.6 過 程 3.6.1 Sub過程 Sub過程是沒有返回值的過程,可以用Sub語句來聲明其名稱、 參數(shù)以及構(gòu)成其主體的代碼,語法格式如下: Public | Private Sub name ( arglist ) st

37、atements Exit Sub statements End Sub 其中Public表示Sub過程可以被所有腳本中的所有其他過程訪 問;Private表示Sub過程只可以被聲明該過程的腳本中的其他過程 訪問;name指定Sub過程的名稱,遵循標(biāo)準(zhǔn)變量命名約定; statements在Sub過程主體內(nèi)所執(zhí)行的任何語句組; 使用Exit Sub語句可以立即從Sub過程中退出,程序繼續(xù)執(zhí)行調(diào) 用Sub過程的語句之后的語句;arglist代表在調(diào)用時(shí)要傳遞給Sub過 程的參數(shù)的變量列表,用逗號(hào)隔開多個(gè)變量。,第3章 VBScript腳本語言基礎(chǔ),過程的調(diào)用 使用Call語句可以將控制權(quán)傳遞給Su

38、b或Function過程,語法為: Call name argumentlist 其中Call是可選關(guān)鍵字,如果指定了此關(guān)鍵字,則必須用括號(hào)把 argumentlist括起來;name是必選的,用于指定要調(diào)用的過程名; argumentlist是可選的,給出傳遞給過程的變量、數(shù)組或表達(dá)式列表,用逗號(hào) 分隔每一項(xiàng)。 在調(diào)用過程時(shí),不必使用Call關(guān)鍵字。然而,如果使用Call關(guān)鍵字調(diào)用要求 參數(shù)的過程,則必須用括號(hào)將argumentlist括起來。如果省略Call關(guān)鍵字,則 必須同時(shí)省略argumentlist參數(shù)兩邊的括號(hào)。使用Call語法調(diào)用內(nèi)部函數(shù)或使 用用戶自定義函數(shù),函數(shù)返回值都會(huì)被放

39、棄。 當(dāng)把控制權(quán)傳遞給過程時(shí),會(huì)把Sub和End Sub之間的所有語句執(zhí)行一遍, 然后從調(diào)用該過程的語句的下一條語句處繼續(xù)執(zhí)行。如果在過程中執(zhí)行了Exit Sub語句,則會(huì)立即從過程中退出,并繼續(xù)執(zhí)行過程調(diào)用語句的下一條語句。 Exit Sub語句通常是與判定結(jié)構(gòu)一起使用的,當(dāng)某個(gè)條件成立時(shí)才退出過程?!纠?.9】演示,第3章 VBScript腳本語言基礎(chǔ),3.6.2 Function過程 Function過程擁有返回值,用Function語句來聲明其名稱、參數(shù) 以及構(gòu)成其主體的代碼,語法為: Public | Private Function name ( arglist ) name =

40、expression End Function 其中Public表示Function過程可以被所有腳本中的所有其他過程 訪問;Private表示Function過程只能被聲明它的腳本中的其他過程 訪問;name指定Function過程的名稱,遵循標(biāo)準(zhǔn)的變量命名規(guī)則; statements在Function過程的主體中執(zhí)行的任意語句組; expression給出Function過程的返回值;使用Exit Function語 句可以從Function過程中立即退出,程序繼續(xù)執(zhí)行調(diào)用Function過程 的語句之后的語句;arglist代表調(diào)用時(shí)要傳遞給Function過程的參數(shù) 的變量列表。 【例

41、3.10】演示,第3章 VBScript腳本語言基礎(chǔ),3.6.3 常用內(nèi)部函數(shù) VBScript提供了大量的內(nèi)部函數(shù),可以在腳本代碼中直接使用這 些函數(shù)。下面給出幾個(gè)常用內(nèi)部函數(shù): Abs返回?cái)?shù)的絕對(duì)值 Array返回含有數(shù)組的變體 Asc返回字符串首字母的ANSI字符碼 Atn返回?cái)?shù)值的反正切 CBool返回已被轉(zhuǎn)換為Boolean子類型的變體的表達(dá)式 CByte返回已被轉(zhuǎn)換為字節(jié)子類型的變體的表達(dá)式 CCur返回已被轉(zhuǎn)換為貨幣子類型的變體的表達(dá)式 CDate返回已被轉(zhuǎn)換為日期子類型的變體的表達(dá)式 CDbl返回已被轉(zhuǎn)換為雙精度子類型的變體的表達(dá)式,第3章 VBScript腳本語言基礎(chǔ),3.6

42、.4 響應(yīng)HTML事件 HTML文檔中的每個(gè)元素都是一個(gè)擁有屬性、方法和事件的對(duì)象,稱為文 檔對(duì)象。當(dāng)觸發(fā)一個(gè)文檔對(duì)象的某個(gè)事件時(shí),該對(duì)象能夠按照某種方式做出響 應(yīng),但具體的響應(yīng)過程需要由程序員編寫腳本代碼來實(shí)現(xiàn),這種過程稱為事件 過程。 1. 基本事件列表 onLoad:當(dāng)Web瀏覽器加載窗口或框架集時(shí)發(fā)生。 onUnLoad:當(dāng)Web瀏覽器從窗口或框架集卸載一個(gè)文檔時(shí)發(fā)生。 onClick:當(dāng)一個(gè)元素被鼠標(biāo)單擊時(shí)發(fā)。 onDbClick:當(dāng)一個(gè)元素被鼠標(biāo)雙擊時(shí)發(fā)生。 onMouseDown:當(dāng)在一個(gè)元素上方鼠標(biāo)被按下時(shí)發(fā)生。 onMouseUp:在一個(gè)元素上方鼠標(biāo)被釋放時(shí)發(fā)生。 onMou

43、seOver:當(dāng)鼠標(biāo)指針從一個(gè)元素上方經(jīng)過時(shí)發(fā)生。 onMouseMove:當(dāng)鼠標(biāo)指針在一個(gè)元素上方移動(dòng)時(shí)發(fā)生。 onMouseOut:當(dāng)鼠標(biāo)指針離開一個(gè)元素時(shí)發(fā)生。 onFocus:當(dāng)一個(gè)元素接收到來自鼠標(biāo)或鍵盤的焦點(diǎn)時(shí)發(fā)生。,第3章 VBScript腳本語言基礎(chǔ),2. 事件過程的調(diào)用方式 在VBScript中,可以通過多種方式來調(diào)用事件過程。下面介紹 常用的四種方法。 (1) 通過名稱調(diào)用事件過程:在標(biāo)記內(nèi)用Sub語句來定義事件過程,并且要求過程名稱必須由控件名稱、下劃線(_)以及事件名稱組合而成。例如,單擊名稱為Button1的按鈕時(shí),會(huì)自動(dòng)調(diào)用Button1_onClick事件過程。

44、(2) 通過FOR/EVNET屬性調(diào)用事件過程:設(shè)置標(biāo)記的FOR屬性以指定HTML頁面中的一個(gè)對(duì)象,并通過EVENT屬性指定該對(duì)象的一個(gè)事件。例如: (3) 在標(biāo)記中直接編寫腳本語句:若事件過程比較簡單,則可以在定義元素的標(biāo)記中直接編寫腳本語句。若要包含多條語句,用冒號(hào)(:)分開各個(gè)語句。 【例3.11】演示,第3章 VBScript腳本語言基礎(chǔ),3.7 文檔對(duì)象模型 3.7.1 文檔對(duì)象概述 文檔對(duì)象模型是可以被任何腳本引擎訪問的對(duì)象的集合,它提供了 對(duì)Web瀏覽器的訪問。但VBScript語言沒有其對(duì)象模型,它使用 Microsoft Internet Exploer瀏覽器的對(duì)象模型,這是

45、一種具有層次結(jié) 構(gòu)的對(duì)象模型,其中每個(gè)對(duì)象都有屬性、方法和事件,而屬性本身也是 對(duì)象,它又包含屬性、方法和事件。 在文檔對(duì)象模型中,最頂層的對(duì)象是Window對(duì)象,它表示瀏覽器 窗口,可以通過它來獲取瀏覽器窗口的狀態(tài)信息、訪問HTML頁面元素 并處理在瀏覽器窗口中發(fā)生的事件。 在瀏覽器窗口中可以包含框架,為了訪問指定框架中的文檔,必須 先訪問相應(yīng)的Frame對(duì)象,然后才能訪問該框架內(nèi)的文檔對(duì)象。 Document對(duì)象是Window對(duì)象的一個(gè)重要屬性,它表示在瀏覽 器窗口中顯示的HTML文檔,該對(duì)象本身又有自己的屬性,其中 Link、Anchor和Form屬性也是對(duì)象。,第3章 VBScript

46、腳本語言基礎(chǔ),3.7.2 Window對(duì)象 Window對(duì)象代表在瀏覽器中打開的窗口,它是文檔對(duì)象層次結(jié)構(gòu)中 位于最上層的對(duì)象,所有其他對(duì)象都可以視為Window對(duì)象的屬性。若 文檔定義了一個(gè)或多個(gè)框架,則瀏覽器將為最初的文檔創(chuàng)建一個(gè) Window對(duì)象,然后為每個(gè)框架創(chuàng)建一個(gè)Window對(duì)象。 1. Window對(duì)象的屬性 (1) Name屬性:用于指定窗口的名稱,可以使用A標(biāo)記的TARGET屬性指定窗口的名稱,也可以使用Open方法打開一個(gè)指定名稱的新窗口。 (2) DefaultStatus屬性:用于設(shè)置或讀取瀏覽器窗口狀態(tài)欄中的默認(rèn)顯示信息。例如,可以在Window對(duì)象的OnLoad事件

47、過程中編寫以下語句: (3) Status屬性:用于設(shè)置或讀取瀏覽器窗口狀態(tài)欄中顯示的臨時(shí)信息。例如,可以在某張圖片的OnMouseOver事件過程中編寫以下代碼:Window.Status = 這是一張圖片。,第3章 VBScript腳本語言基礎(chǔ),2. Window對(duì)象的方法 (1) Alert方法:用來顯示一個(gè)警告對(duì)話框。 (2) Confirm方法:用來顯示一個(gè)確認(rèn)對(duì)話框。 (3) Prompt方法:其作用類似于InputBox函數(shù),即顯示一個(gè)提示對(duì)話框,提示用戶輸入數(shù)據(jù)。 (4) Open方法:用于打開一個(gè)已存在的窗口,或者創(chuàng)建一個(gè)新窗口,并在該窗口中加載一個(gè)。 (5) Close方法

48、:用來關(guān)閉一個(gè)打開的窗口。 (6) SetTimeout方法:用來設(shè)置一個(gè)計(jì)時(shí)器,以便在經(jīng)過指定的時(shí)間間隔后調(diào)用一個(gè)過程。 (7) ClearTimeout方法:用于將指定的計(jì)時(shí)器復(fù)位。 (8) Navigate方法:用來在當(dāng)前窗口中顯示新文檔。 3. Window對(duì)象的事件 Window對(duì)象有兩個(gè)事件:即onLoad和onUnLoad事件,前者在頁面加載 時(shí)被觸發(fā),后者在頁面卸載時(shí)被觸發(fā)。 【例3.12】演示,第3章 VBScript腳本語言基礎(chǔ),3.7.3 Document對(duì)象 Document對(duì)象表示在瀏覽器窗口或其中一個(gè)框架中顯示的HTML文 檔,通過該對(duì)象的屬性和方法可以控制頁面的外

49、觀和內(nèi)容。 1. Document對(duì)象的屬性 (1) LinkColor屬性:用來設(shè)置或返回文檔中超鏈接的顏色。 (2) aLinkColor屬性:用來設(shè)置或返回文檔中活動(dòng)鏈接的顏色。 (3) vLinkColor屬性:用來設(shè)置或返回已經(jīng)訪問過的超鏈接的顏色。 (4) bgColor屬性:用來設(shè)置或返回文檔的背景顏色。 (5) fgColor屬性:用來設(shè)置或返回文檔中文本的顏色。 (6) Anchor屬性:這是一個(gè)對(duì)象屬性,用來表示文檔中的錨點(diǎn)。 (7) Title屬性:用來返回當(dāng)前文檔的標(biāo)題,在運(yùn)行期間不能改變。 (8) Location屬性:用來設(shè)置或返回文檔的URL。 (9) Link屬性:這是一個(gè)對(duì)象屬性,用來表示文檔中的超鏈接。 (10) LastModified屬性:返回當(dāng)前文檔的最后修改日期。 (11) Referrer屬性:用于返

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論