《VBScript腳本語言》課件_第1頁
《VBScript腳本語言》課件_第2頁
《VBScript腳本語言》課件_第3頁
《VBScript腳本語言》課件_第4頁
《VBScript腳本語言》課件_第5頁
已閱讀5頁,還剩137頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章VBScript腳本語言

3.1VBScript概述

3.2VBScript的基本數(shù)據(jù)類型及輸入輸出

3.3VBScript的表達(dá)式和運算符

3.4VBScript的控制結(jié)構(gòu)

3.5VBScript的函數(shù)和子過程

3.6VBScript的內(nèi)部庫函數(shù)

3.7VBScript的對象和事件

3.8VBScript糾錯處理

1《ASP程序設(shè)計》第3章VBScript腳本語言3.1VBScrip3.1VBScript概述

3.1.1VBScript概述3.1.2VBScript與JavaScript3.1.3VBScript腳本類型3.1.4VBScript實例2《ASP程序設(shè)計》3.1VBScript概述3.1.1VBScrip3.1VBScript概述靜態(tài)網(wǎng)頁的功能有很大的局限性,因此具有強大的交互能力的動態(tài)網(wǎng)頁得到了廣泛的流行。VBScript是目前進行動態(tài)網(wǎng)頁開發(fā)中必不可少的一種腳本語言。3《ASP程序設(shè)計》3.1VBScript概述靜態(tài)網(wǎng)頁的功能有很大的局限性,因3.1.1VBScript概述

HTML語言編寫的網(wǎng)頁是一種靜態(tài)文檔。腳本語言和HTML標(biāo)記一起編寫動態(tài)網(wǎng)頁,這種網(wǎng)頁可以被服務(wù)器執(zhí)行。腳本語言是介于HTML和Java、VisualBasic等編程語言之間的語言,可使用任何文本編輯器編寫,保存為純ASCII文本文件。目前比較流行的腳本語言主要有兩種,即VBScript和JavaScript。4《ASP程序設(shè)計》3.1.1VBScript概述HTML語言編寫的網(wǎng)頁是3.1.2VBScript與JavaScript在IIS中設(shè)定。在網(wǎng)頁中指定腳本語言<%@LANGUAGE=VBScript%>或<%@LANGUAGE=VBScript%>利用<Script>設(shè)定腳本語言,例如:<Scriptlanguage="Vbscript">

ASP中的缺省語言是VBScript。腳本語言的設(shè)置方法主要有:5《ASP程序設(shè)計》3.1.2VBScript與JavaScript在IIS3.1.3VBScript腳本類型

1.客戶端腳本客戶端腳本由瀏覽器解釋執(zhí)行。<SCRIPTLANGUAGE="language"[EVENT="event"][FOR="object"]><!--

腳本代碼--></SCRIPT>

LANGUAGE:指定使用哪一種腳本語言EVENT:指定與此段腳本相關(guān)聯(lián)的事件FOR:指定與事件相關(guān)聯(lián)的對象6《ASP程序設(shè)計》3.1.3VBScript腳本類型1.客戶端腳本3.1.3VBScript腳本類型2.服務(wù)器端腳本在Web服務(wù)器上執(zhí)行,由服務(wù)器根據(jù)腳本的執(zhí)行結(jié)果生成相應(yīng)的HTML頁面并發(fā)送到客戶端瀏覽器中并顯示,不受瀏覽器的限制。

<SCRIPTLANGUAGE=VBScriptRUNAT=server><!—

腳本代碼--></SCRIPT><%VBScript腳本程序片段%>

7《ASP程序設(shè)計》3.1.3VBScript腳本類型2.服務(wù)器端腳本<SC3.1.4VBScript實例

8《ASP程序設(shè)計》3.1.4VBScript實例8《ASP程序設(shè)計》3.2基本數(shù)據(jù)類型及輸入輸出

3.2.1簡單編程約定3.2.2基本數(shù)據(jù)類型及其子類型3.2.3變量3.2.4常量3.2.5數(shù)組3.2.6基本輸入輸出9《ASP程序設(shè)計》3.2基本數(shù)據(jù)類型及輸入輸出3.2.1簡單編程約定3.2.1簡單編程約定1.程序中的層次感和注釋一般格式為:格式一:Rem注釋內(nèi)容格式二:′注釋內(nèi)容或語句′注釋內(nèi)容兩種表現(xiàn)形式:通過使用Rem語句采用西文單引號“′”10《ASP程序設(shè)計》3.2.1簡單編程約定1.程序中的層次感和注釋一般格式為3.2.1簡單編程約定2.單行文本轉(zhuǎn)成多行使用續(xù)行符“-”(由一個空格和一個下劃線組成),將長的語句分成多行書寫。3.使用不同進制的數(shù)字在VBScript中,可以用默認(rèn)的十進制來表示數(shù)字,還使用十六進制或八進制來表示數(shù)字。11《ASP程序設(shè)計》3.2.1簡單編程約定2.單行文本轉(zhuǎn)成多行使用續(xù)行符“3.2.2基本數(shù)據(jù)類型及其子類型

VBScript只有一種特殊的數(shù)據(jù)類型,即變體(Variant)數(shù)據(jù)類型,它可以隨著變量被使用方式的不同而包含不同的數(shù)據(jù)信息,會根據(jù)不同的應(yīng)用環(huán)境,將變量區(qū)別對待。由變體類型引申出來的類型稱為子類型。

12《ASP程序設(shè)計》3.2.2基本數(shù)據(jù)類型及其子類型VBScript只有一種3.2.3變量變量是指計算機中用來表示內(nèi)存位置的一種符號,在內(nèi)存中存儲著程序所需的各種數(shù)據(jù),腳本執(zhí)行時這個內(nèi)存中的數(shù)據(jù)可以改變。

13《ASP程序設(shè)計》3.2.3變量變量是指計算機中用來表示內(nèi)存位置的一種符號3.2.3變量1.變量命名規(guī)則

變量的名字必須以字母開頭;名字中不能含有任何的標(biāo)點符號;名字最大長度不能超過255個字符;名字不能和VBScript中的關(guān)鍵字同名;變量都有作用域,它由變量的聲明位置決定14《ASP程序設(shè)計》3.2.3變量1.變量命名規(guī)則變量的名字必須以字母開頭3.2.3變量2.聲明變量(1)隱式聲明方式:在使用變量前并不需要聲明,而可直接使用。

(2)顯式聲明方式:使用變量聲明語句來聲明變量的方式。變量聲明語句有Dim,Public和Private。

DimstrStudentNameDimstrTeacherName,strWorkerName

15《ASP程序設(shè)計》3.2.3變量2.聲明變量(1)隱式聲明方式:在使用變量3.2.3變量3.變量的作用域變量的作用域指變量的有效作用范圍。使用Dim聲明的變量,其作用域分為過程內(nèi)有效和整個程序中都有效。在變量過程內(nèi)部聲明的變量稱為過程級變量或局部變量,只能在聲明它們的過程中使用。過程外部聲明的變量稱為腳本級變量或全局變量,在同一個asp文件中的任何腳本命令均可訪問和修改該變量的值。

16《ASP程序設(shè)計》3.2.3變量3.變量的作用域變量的作用域指變量的有效作3.2.3變量<%

OptionExplicitDimintX'聲明腳本級變量

intX=1'給腳本級變量賦值

SetLocalVariab1e'調(diào)用過程修改過程級變量的值

Response.WriteintX'將腳本級變量的值發(fā)送到瀏覽器,值仍為1

SubSetLocalVariab1eDimintX'聲明過程級變量

intX=2'給過程級變量賦值

EndSub%>

17《ASP程序設(shè)計》3.2.3變量<%17《ASP程序設(shè)計》3.2.4常量通過關(guān)鍵字Const定義符號常量。例如:ConstPI=3.1415926定義日期和時間型常量時需要使用#字符將它們的值包圍起來。例如:Consttaday=#05-09-2005#

Constwork_time=#08:30:00#

18《ASP程序設(shè)計》3.2.4常量通過關(guān)鍵字Const定義符號常量。18《A3.2.5數(shù)組數(shù)組有以下幾個特點:

使用數(shù)組之前要先進行定義,然后才能使用。通常用Dim語句來定義數(shù)組。數(shù)組下標(biāo)的下界一律從0開始。一個數(shù)組中可包含各種子類型的數(shù)據(jù)元素。

數(shù)組分兩種類型,即靜態(tài)數(shù)組和動態(tài)數(shù)組。

19《ASP程序設(shè)計》3.2.5數(shù)組數(shù)組有以下幾個特點:使用數(shù)組之前要先進行3.2.5數(shù)組1.靜態(tài)數(shù)組分為一維、二維或多維數(shù)組。維數(shù)由數(shù)組名之后緊跟的括號中數(shù)字的個數(shù)決定,數(shù)組的大小由括號中的數(shù)值決定。靜態(tài)數(shù)組在編譯時開辟內(nèi)存區(qū),它的大小在運行時是不可以改變。定義一個一維數(shù)組arrVar(3):DimarrVar(3)定義一個二維數(shù)組arrTwoDim(2,3):DimarrTwoDim(2,3)

20《ASP程序設(shè)計》3.2.5數(shù)組1.靜態(tài)數(shù)組定義一個一維數(shù)組arrVar(3.2.5數(shù)組2.動態(tài)數(shù)組運行時大小可變的數(shù)組。程序沒運行,不占內(nèi)存,運行時才為其開辟內(nèi)存區(qū)。ReDim[Preserve]變量(下標(biāo))ReDimarrVar(10)DimarrVar()ReDimarrVar(4)

ReDimarrVar(6)

ReDimPreservearrVar(Ubound(arrStudent)+1)21《ASP程序設(shè)計》3.2.5數(shù)組2.動態(tài)數(shù)組DimarrVar()ReD3.2.6基本輸入輸出提供兩種非常方便的輸入輸出方法,即用來輸出消息的消息對話框(MessageBox)和用來要求用戶輸入數(shù)據(jù)的數(shù)據(jù)輸入對話框(InputBox)。

22《ASP程序設(shè)計》3.2.6基本輸入輸出提供兩種非常方便的輸入輸出方法,即3.2.6基本輸入輸出1.消息對話框MsgBox(prompt[,buttons][,title][,helpfile,context])

Prompt:字符串顯示在對話框中的消息,必需。Buttons:數(shù)值顯示按鈕的數(shù)目及形式,可選。Title:字符串顯示在標(biāo)題欄中的提示信息,可選。Helpfile:字符串識別向?qū)υ捒蛱峁┥舷挛南嚓P(guān)幫助的幫助文件,可選。Context:數(shù)值指定幫助主題內(nèi)容的編號,可選。23《ASP程序設(shè)計》3.2.6基本輸入輸出1.消息對話框Prompt:字符串3.2.6基本輸入輸出2.輸入對話框InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

prompt:要顯示的消息。title:顯示在標(biāo)題欄的字符串。default:在沒有其它輸入時作為缺省值。xpos和ypos:指定對話框在屏幕中出現(xiàn)的位置。24《ASP程序設(shè)計》3.2.6基本輸入輸出2.輸入對話框prompt:要顯示3.3表達(dá)式和運算符

3.3.1

表達(dá)式和運算符概述

3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符3.3.3條件表達(dá)式及其運算符3.3.4字符串表達(dá)式及其運算符3.3.5運算符的優(yōu)先級25《ASP程序設(shè)計》3.3表達(dá)式和運算符3.3.1表達(dá)式和運算符概述3.3.1表達(dá)式和運算符概述

數(shù)學(xué)表達(dá)式:用于常規(guī)的數(shù)值運算,運算結(jié)果仍然為數(shù)值;條件表達(dá)式:常用于根據(jù)一系列條件做出判斷,并采取相應(yīng)的動作,運算結(jié)果為布爾值True或者False;字符串表達(dá)式:用來將多個字符串連接成一個較長的字符串,運算結(jié)果仍為字符串。

26《ASP程序設(shè)計》3.3.1表達(dá)式和運算符概述數(shù)學(xué)表達(dá)式:用于常規(guī)的數(shù)值3.3.1表達(dá)式和運算符概述運算符一般分為兩種:單目運算符和雙目運算符。單目運算符:只有一個前置的運算符對操作數(shù)進行操作。一般格式如下:OperatorOperand雙目運算符:在運算符的兩端各有一個操作數(shù)。一般形式如下:Operand1OperatorOperand227《ASP程序設(shè)計》3.3.1表達(dá)式和運算符概述運算符一般分為兩種:單目運算3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符

1.?dāng)?shù)學(xué)表達(dá)式

varA=varB+varCintResult=A-B*C+D/E

2.算術(shù)運算符常用的加、減、乘、除等數(shù)學(xué)算術(shù)運算。

28《ASP程序設(shè)計》3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符1.?dāng)?shù)學(xué)表達(dá)式28《AS3.3.3條件表達(dá)式及其運算符1.條件表達(dá)式條件表達(dá)式可以通過兩種布爾運算符來進行運算:關(guān)系運算符和邏輯運算符。Ifa<10Thenb=b+1EndIf29《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符1.條件表達(dá)式條件表達(dá)式可3.3.3條件表達(dá)式及其運算符2.關(guān)系運算符運算符功能表達(dá)式實例恒等于(=)比較兩個表達(dá)式是否相等。23=23,x+1=y-5,str=””不等于(<>或><)比較兩個表達(dá)式是否不相等。X*4+1<>y,a-1<>6大于(>)一個表達(dá)式是否大于另一個表達(dá)式。5>3,var*2>6小于(<)一個表達(dá)式是否小于另一個表達(dá)式。Var<x-6,5<4大于或等于(>=)一個表達(dá)式是否大于或等于另一個表達(dá)式。“l(fā)ang”>=”name”小于或等于(<=)比較一個表達(dá)式是否小于或等于另一個表達(dá)式。X<y+4對象相等(is)判斷兩個對象是否相等。Student1isStudent230《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符2.關(guān)系運算符運算符功能表3.3.3條件表達(dá)式及其運算符3.邏輯運算符運算符功能表達(dá)式實例取反(Not)對邏輯真取反結(jié)果為邏輯假,反之為邏輯真。NotTrue邏輯與(And)如果兩個表達(dá)式的值都為真,結(jié)果才為真,否則結(jié)果為假。(5<3)And(6>4)邏輯或(Or)兩個表達(dá)式中只要有一個為真,結(jié)果就為真,只有兩個都為假,結(jié)果才為假。(a<4)Or(3>1)異或(Xor)如果兩個表達(dá)式同時為真或同時為假,則結(jié)果為假,否則結(jié)果為真。TrueXor(a>x)等價(Eqv)是異或運算取反的結(jié)果。如果兩個表達(dá)式同時為真或同時為假,則結(jié)果為真,否則為假。(a<b)EqvFalse蘊含(Imp)當(dāng)?shù)谝粋€表達(dá)式為真,第二個表達(dá)式為假時,結(jié)果為假,否則結(jié)果為真。TrueImp(2>3)31《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符3.邏輯運算符運算符功能3.3.4字符串表達(dá)式及其運算符

1.字符串表達(dá)式把兩個或者更多個字符串進行連接,形成一句完整的語句。

2.連接運算符連接運算符有兩個:“+”和“&”。

32《ASP程序設(shè)計》3.3.4字符串表達(dá)式及其運算符1.字符串表達(dá)式32《A3.3.5運算符的優(yōu)先級通常的運算順序是:先進行函數(shù)運算,接著進行算術(shù)運算,然后進行關(guān)系運算,最后進行邏輯運算。如果表達(dá)式中含有括號,則它的優(yōu)先級是最高的。

33《ASP程序設(shè)計》3.3.5運算符的優(yōu)先級通常的運算順序是:先進行函數(shù)運算3.4VBScript的控制結(jié)構(gòu)3.4.1控制結(jié)構(gòu)概述3.4.2選擇結(jié)構(gòu)3.4.3循環(huán)結(jié)構(gòu)34《ASP程序設(shè)計》3.4VBScript的控制結(jié)構(gòu)3.4.1控制結(jié)3.4.1控制結(jié)構(gòu)概述兩種類型的控制語句:條件控制語句包括選擇語句(If…Then…Else)和多分支選擇語句(Select…Case)。循環(huán)控制語句包括For循環(huán)控制語句(For…Next)、Do循環(huán)控制語句(Do…Loop)和While循環(huán)(While…Wend)語句。

35《ASP程序設(shè)計》3.4.1控制結(jié)構(gòu)概述兩種類型的控制語句:35《ASP程3.4.2選擇結(jié)構(gòu)1.簡單條件控制語句If條件表達(dá)式

Then語句或If條件表達(dá)式

Then語句體EndIf

36《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)1.簡單條件控制語句If條件表達(dá)式3.4.2選擇結(jié)構(gòu)2.If…Then…Else語句

If條件表達(dá)式

Then語句體1Else語句體2EndIf

37《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)2.If…Then…Else語句If3.4.2選擇結(jié)構(gòu)3.嵌套條件控制語句If條件表達(dá)式1Then[語句體1][ElseIf條件表達(dá)式2Then[語句體2]]…[Else[語句體n]]…EndIf

38《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)3.嵌套條件控制語句If條件表達(dá)式13.4.2選擇結(jié)構(gòu)4.多分支條件控制語句SelectCase測試表達(dá)式[Case表達(dá)式1[語句體1]][Case表達(dá)式2[語句體2]]…[CaseElse[語句體n]]EndSelect

39《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)4.多分支條件控制語句SelectC3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(1)For…Next語句For循環(huán)變量=初值

To終值[Step步長]

循環(huán)體[ExitFor]Next[循環(huán)變量]

40《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(1)For…Next語3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(2)ForEach…Next語句ForEach元素

In集合

語句體Next[元素]

41《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(2)ForEach…3.4.3循環(huán)結(jié)構(gòu)2.Do循環(huán)

第一種:Do[While|Until循環(huán)條件]

循環(huán)體[ExitDo]Loop第二種:Do

循環(huán)體[ExitDo]Loop[While|Until循環(huán)條件]

42《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)2.Do循環(huán)第一種:Do[Whil3.4.3循環(huán)結(jié)構(gòu)3.While循環(huán)While循環(huán)條件

循環(huán)體Wend

43《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)3.While循環(huán)While循環(huán)條件3.5VBScript的函數(shù)和子過程3.5.1過程概述3.5.2VBScript的函數(shù)3.5.3VBScript的子過程44《ASP程序設(shè)計》3.5VBScript的函數(shù)和子過程3.5.1過3.5.1過程概述過程只有單一入口,但可有多個出口。在Web頁面任何位置都可以定義過程,客戶端過程通常定義在<HEAD>和</HEAD>中。可以用瀏覽器所特有的事件來調(diào)用客戶端腳本。可以向過程中傳遞任何有效的參數(shù)。過程分為無返回值的Sub(子)過程和有返回值的Function函數(shù)。45《ASP程序設(shè)計》3.5.1過程概述過程只有單一入口,但可有多個出口。3.5.2VBScript的函數(shù)[Private][Public]Function過程名[(參數(shù)列表)][語句塊]函數(shù)名=表達(dá)式[ExitFunction][語句塊]EndFunction

Private表示函數(shù)為私有函數(shù)Public表示公有函數(shù)(默認(rèn))“函數(shù)名=表達(dá)式”用于為函數(shù)設(shè)置返回值ExitFunction退出函數(shù)體46《ASP程序設(shè)計》3.5.2VBScript的函數(shù)[Private][Pu3.5.3VBScript的子過程[Private][Public]Sub過程名[(參數(shù)列表)][語句塊][ExitSub][語句塊]EndSub47《ASP程序設(shè)計》3.5.3VBScript的子過程[Private][P3.6VBScript的內(nèi)部庫函數(shù)

3.6.1數(shù)學(xué)函數(shù)3.6.2字符串函數(shù)3.6.3日期和時間函數(shù)3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.6.5數(shù)據(jù)類型判別函數(shù)48《ASP程序設(shè)計》3.6VBScript的內(nèi)部庫函數(shù)3.6.1數(shù)3.6.1數(shù)學(xué)函數(shù)名稱語法實例求平方根函數(shù)SqrSqr(2)=1.4142135623731求絕對值函數(shù)AbsAbs(-2)=2指數(shù)函數(shù)ExpExp(2)=7.38905609893065對數(shù)函數(shù)LogLog(2)=0.693147180559945符號函數(shù)SgnSgn(-5)=-1

三角函數(shù)SinSin(x)CosCos(x)TanTan(x)AtnAtn(x)49《ASP程序設(shè)計》3.6.1數(shù)學(xué)函數(shù)名稱語法實例求平方根函數(shù)SqrSqr(3.6.2字符串函數(shù)名稱語法實例空格Space(n)

刪除空白字符Trim(s)Trim("歡迎您!")="歡迎您!"長度測試Len(s)Len("歡迎您!")=4字符串截取Left(s,n)Left("北華航天工業(yè)學(xué)院",4)="北華航天"Mid(s,p,n)Mid("北華航天工業(yè)學(xué)院",5,2)="工業(yè)"Right(s,n)Right("北華航天工業(yè)學(xué)院",2)="學(xué)院"大小寫轉(zhuǎn)換Ucase(s)Ucase("Chinese")="CHINESE"Lcase(s)Lcase("CITY")="city"字符串匹配

InStr(s1,s2)InStr("北華航天工業(yè)學(xué)院","航天")=350《ASP程序設(shè)計》3.6.2字符串函數(shù)名稱語法實例空格Space(n)

刪3.6.3日期和時間函數(shù)日期函數(shù)語法格式功能Year(Now)返回當(dāng)前系統(tǒng)的年份。Month(Now)返回當(dāng)前系統(tǒng)的月份。Day(Now)返回當(dāng)前系統(tǒng)的日期。WeekDay(Now[,n])返回當(dāng)前系統(tǒng)的星期。51《ASP程序設(shè)計》3.6.3日期和時間函數(shù)日期函數(shù)語法格式功能Year(N3.6.3日期和時間函數(shù)時間函數(shù)語法格式功能Hour(Now)返回當(dāng)前系統(tǒng)的小時(0~23)。Minute(Now)返回當(dāng)前系統(tǒng)的分鐘(0~59)。Second(Now)返回當(dāng)前系統(tǒng)的秒(0~59)。52《ASP程序設(shè)計》3.6.3日期和時間函數(shù)時間函數(shù)語法格式功能Hour(N3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)名稱功能CStr函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個字符串。CInt函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個整數(shù)。如果有小數(shù)部分則先進行四舍五入。CDate函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個日期。CBool函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個布爾值。CLng函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個長整型數(shù)。如果有小數(shù)部分,則先進行四舍五入。CSng函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個單精度數(shù)。CDbl函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個雙精度數(shù)。53《ASP程序設(shè)計》3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)名稱功能CStr函數(shù)將數(shù)據(jù)轉(zhuǎn)換3.6.5數(shù)據(jù)類型判別函數(shù)名稱功能IsNull函數(shù)

測試自變量是否是Null,如果是,則返回真,否則返回假。IsEmpty函數(shù)測試自變量是否是Empty,如果是,則返回真,否則返回假。IsNumeric函數(shù)測試自變量是否是一個數(shù)值,如果是,則返回真,否則返回假。IsArray函數(shù)

測試自變量是否是一個數(shù)組,如果是,則返回真,否則返回假。IsDate函數(shù)測試自變量是否是一個日期型數(shù)據(jù),如果是,則返回真,否則返回假。IsObject函數(shù)

測試自變量是否是一個對象,如果是,則返回真,否則返回假。54《ASP程序設(shè)計》3.6.5數(shù)據(jù)類型判別函數(shù)名稱功能IsNull函數(shù)測試3.7VBScript的對象和事件

3.7.1對象和事件的概念3.7.2網(wǎng)頁及瀏覽器對象3.7.3瀏覽器內(nèi)嵌HTML控件3.7.4對象和事件實例55《ASP程序設(shè)計》3.7VBScript的對象和事件3.7.1對3.7.1對象和事件的概念對象是在瀏覽器中或者腳本編寫中用于綜合地描述一組功能和事件的組合體。事件是對網(wǎng)頁中各種控件狀態(tài)改變的一種描述。使用對象和屬性名稱時是區(qū)分大小寫的。56《ASP程序設(shè)計》3.7.1對象和事件的概念對象是在瀏覽器中或者腳本編寫中3.7.2網(wǎng)頁及瀏覽器對象1.Windows窗口對象

(1)屬性屬性名稱功能DefaultStatus用來設(shè)置狀態(tài)欄中的缺省文字。Document返回當(dāng)前窗口的文檔對象的引用。Frames返回當(dāng)前窗口中的框架。History返回當(dāng)前窗口的歷史對象。Location返回位置類型對象。Name返回當(dāng)前窗口的名字。Parent返回當(dāng)前窗口的父窗口的名字。Self對當(dāng)前窗口對象的另一個引用。Status返回或設(shè)置顯示在狀態(tài)欄中的文字。Top返回代表最高級窗口的一個對象。57《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象1.Windows窗口對象屬3.7.2網(wǎng)頁及瀏覽器對象(2)Windows對象的方法

方法名稱功能Alert顯示一個帶“OK”按鈕的警告消息框,沒有返回值。ClearTimeout刪除一個指定的計數(shù)器,無返回值。Close關(guān)閉窗口,無返回值。Conform顯示一個帶有OK/Cancel的消息框,返回布爾類型值。Open打開一個新窗口或創(chuàng)建一個新窗口并在其中顯示一個文檔,返回一個Windows對象。Prompt顯示一個帶有OK/Cancel類型的輸入型對話框,返回字符串類型值。SetTimeout經(jīng)過指定時間后執(zhí)行特定的代碼,返回長整數(shù)值。58《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象(2)Windows對象的方法3.7.2網(wǎng)頁及瀏覽器對象(3)Windows窗口對象的事件OnLoad:加載頁面調(diào)用相應(yīng)事件。OnUnload:卸載頁面調(diào)用相應(yīng)事件。59《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象(3)Windows窗口對象的3.7.2網(wǎng)頁及瀏覽器對象2.Document對象(1)Document對象的屬性

屬性名稱功能LinkColor返回或設(shè)置文檔中鏈接的顏色。AlinkColor返回或設(shè)置文檔中的活動鏈接的顏色。VlinkColor返回或設(shè)置被訪問過的鏈接的顏色。BGColor返回或設(shè)置文檔的背景色。

FGColor返回或設(shè)置文檔的前景色。Forms表示在一個HTML文檔中的一個窗體,LastModified返回當(dāng)前文檔最近一次被修改的時間。Title返回當(dāng)前文檔的標(biāo)題,只讀。Cookie返回或設(shè)置曾經(jīng)訪問過網(wǎng)頁的客戶方的Cookie。Referrer返回所指向的文檔的URL字符串。Links返回一個鏈接數(shù)組。60《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象2.Document對象(1)3.7.2網(wǎng)頁及瀏覽器對象(2)Document文檔對象的方法方法名稱功能Write將字符串變量寫入當(dāng)前文檔中。WriteLn寫入到當(dāng)前文檔時,將字符串變量作為一個新行附加到結(jié)尾。Open為輸出數(shù)據(jù)打開一個新的文檔。Close關(guān)閉文檔流。Clear關(guān)閉已經(jīng)開啟的文檔輸出流,并且清除屏幕上所有的內(nèi)容。61《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象(2)Document文檔對象3.7.2網(wǎng)頁及瀏覽器對象3.Location對象屬性名稱功能Href返回或設(shè)置裝載入瀏覽器窗口的完整的URL。Protocol返回或設(shè)置URL使用的協(xié)議,例如HTTP協(xié)議、FTP協(xié)議等。Host返回或設(shè)置URL的宿主和端口,宿主和端口之間用冒號隔開。HostName讀取或設(shè)置URL的宿主,可以是一個IP地址或是一個名字。Port返回或設(shè)置URL的端口。PathName返回或設(shè)置URL的路徑名。Search返回或設(shè)置URL的搜索部分Hash返回或設(shè)置URL的無用部分。62《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象3.Location對象屬性名3.7.2網(wǎng)頁及瀏覽器對象4.History歷史對象

History.back(n)History.forward(n)History.go(n)63《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象4.History歷史對象63.7.2網(wǎng)頁及瀏覽器對象5.Form對象可以作為文檔對象的一個屬性被訪問。Action:返回或設(shè)置表單的動作屬性。Elements:返回或設(shè)置表單的元素屬性。Method:返回或設(shè)置表單的方法屬性。Target:返回或設(shè)置表單的目標(biāo)屬性。Encoding:返回或設(shè)置表單的代碼屬性。64《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象5.Form對象可以作為文檔對3.7.3瀏覽器內(nèi)嵌HTML控件控件事件方法ButtonOnClickOnFocusClickFocusCheckBoxOnClickOnFocusClickFocusPassWordOnFocusFocusRadioOnClickOnFocusClickFocusResetOnClickOnFocusClickFocusSelectOnFocusOnBlurOnChangeFocusBlurSubmitOnClickOnFocusClickFocusTextOnFocusOnBlurOnChangeOnSelectFocusBlurSelectTextAreaOnChangOnSelectSelect65《ASP程序設(shè)計》3.7.3瀏覽器內(nèi)嵌HTML控件控件事件方法Button3.8VBScript糾錯處理3.8.1VBScript中的編碼約定3.8.2交互的調(diào)錯環(huán)境3.8.3常見錯誤及調(diào)試66《ASP程序設(shè)計》3.8VBScript糾錯處理3.8.1VBSc3.8.1VBScript中的編碼約定1.HTML編寫格式約定

腳本代碼可以放在網(wǎng)頁的任何位置,但最好放在<HEAD>和</HEAD>中間,這樣瀏覽器可以首先解釋和運行腳本代碼,而且醒目和易于調(diào)試和維護。腳本中應(yīng)該包含注釋標(biāo)記,可在瀏覽器不支持腳本時將其隱藏。在編寫程序時要有一定的層次結(jié)構(gòu),盡量注意縮進。67《ASP程序設(shè)計》3.8.1VBScript中的編碼約定1.HTML編寫格3.8.1VBScript中的編碼約定2.命名約定定義變量時,在變量前加上其對應(yīng)的數(shù)據(jù)類型;定義函數(shù)和過程應(yīng)該以要完成的功能的動詞開始。InitArray或者CloseFrame等。68《ASP程序設(shè)計》3.8.1VBScript中的編碼約定2.命名約定定義變3.8.1VBScript中的編碼約定3.注釋語句約定當(dāng)傳遞給過程的參數(shù)用途不明顯,或者過程對參數(shù)的取值范圍要求嚴(yán)格時,應(yīng)加以說明。每個重要變量的聲明部分要添加注釋來描述它的用途。應(yīng)在<SCRIPT>的開始部分包含該段代碼的功能描述注釋。69《ASP程序設(shè)計》3.8.1VBScript中的編碼約定3.注釋語句約定當(dāng)3.8.2交互的調(diào)錯環(huán)境常用的調(diào)錯環(huán)境有:MicrosoftVisualC++DeveloperStudio開發(fā)平臺的源代碼編輯器MicrosoftInternetExploer瀏覽器70《ASP程序設(shè)計》3.8.2交互的調(diào)錯環(huán)境常用的調(diào)錯環(huán)境有:70《ASP程3.8.3常見錯誤及調(diào)試1.文檔加載時錯誤在HTML文檔加載時就出現(xiàn)錯誤而不能運行的現(xiàn)象,有時也稱符號錯誤。2.網(wǎng)頁運行時錯誤

網(wǎng)頁加載后,在運行網(wǎng)頁對象的事件過程中出現(xiàn)的錯誤。71《ASP程序設(shè)計》3.8.3常見錯誤及調(diào)試1.文檔加載時錯誤71《ASP程第3章VBScript腳本語言

3.1VBScript概述

3.2VBScript的基本數(shù)據(jù)類型及輸入輸出

3.3VBScript的表達(dá)式和運算符

3.4VBScript的控制結(jié)構(gòu)

3.5VBScript的函數(shù)和子過程

3.6VBScript的內(nèi)部庫函數(shù)

3.7VBScript的對象和事件

3.8VBScript糾錯處理

72《ASP程序設(shè)計》第3章VBScript腳本語言3.1VBScrip3.1VBScript概述

3.1.1VBScript概述3.1.2VBScript與JavaScript3.1.3VBScript腳本類型3.1.4VBScript實例73《ASP程序設(shè)計》3.1VBScript概述3.1.1VBScrip3.1VBScript概述靜態(tài)網(wǎng)頁的功能有很大的局限性,因此具有強大的交互能力的動態(tài)網(wǎng)頁得到了廣泛的流行。VBScript是目前進行動態(tài)網(wǎng)頁開發(fā)中必不可少的一種腳本語言。74《ASP程序設(shè)計》3.1VBScript概述靜態(tài)網(wǎng)頁的功能有很大的局限性,因3.1.1VBScript概述

HTML語言編寫的網(wǎng)頁是一種靜態(tài)文檔。腳本語言和HTML標(biāo)記一起編寫動態(tài)網(wǎng)頁,這種網(wǎng)頁可以被服務(wù)器執(zhí)行。腳本語言是介于HTML和Java、VisualBasic等編程語言之間的語言,可使用任何文本編輯器編寫,保存為純ASCII文本文件。目前比較流行的腳本語言主要有兩種,即VBScript和JavaScript。75《ASP程序設(shè)計》3.1.1VBScript概述HTML語言編寫的網(wǎng)頁是3.1.2VBScript與JavaScript在IIS中設(shè)定。在網(wǎng)頁中指定腳本語言<%@LANGUAGE=VBScript%>或<%@LANGUAGE=VBScript%>利用<Script>設(shè)定腳本語言,例如:<Scriptlanguage="Vbscript">

ASP中的缺省語言是VBScript。腳本語言的設(shè)置方法主要有:76《ASP程序設(shè)計》3.1.2VBScript與JavaScript在IIS3.1.3VBScript腳本類型

1.客戶端腳本客戶端腳本由瀏覽器解釋執(zhí)行。<SCRIPTLANGUAGE="language"[EVENT="event"][FOR="object"]><!--

腳本代碼--></SCRIPT>

LANGUAGE:指定使用哪一種腳本語言EVENT:指定與此段腳本相關(guān)聯(lián)的事件FOR:指定與事件相關(guān)聯(lián)的對象77《ASP程序設(shè)計》3.1.3VBScript腳本類型1.客戶端腳本3.1.3VBScript腳本類型2.服務(wù)器端腳本在Web服務(wù)器上執(zhí)行,由服務(wù)器根據(jù)腳本的執(zhí)行結(jié)果生成相應(yīng)的HTML頁面并發(fā)送到客戶端瀏覽器中并顯示,不受瀏覽器的限制。

<SCRIPTLANGUAGE=VBScriptRUNAT=server><!—

腳本代碼--></SCRIPT><%VBScript腳本程序片段%>

78《ASP程序設(shè)計》3.1.3VBScript腳本類型2.服務(wù)器端腳本<SC3.1.4VBScript實例

79《ASP程序設(shè)計》3.1.4VBScript實例8《ASP程序設(shè)計》3.2基本數(shù)據(jù)類型及輸入輸出

3.2.1簡單編程約定3.2.2基本數(shù)據(jù)類型及其子類型3.2.3變量3.2.4常量3.2.5數(shù)組3.2.6基本輸入輸出80《ASP程序設(shè)計》3.2基本數(shù)據(jù)類型及輸入輸出3.2.1簡單編程約定3.2.1簡單編程約定1.程序中的層次感和注釋一般格式為:格式一:Rem注釋內(nèi)容格式二:′注釋內(nèi)容或語句′注釋內(nèi)容兩種表現(xiàn)形式:通過使用Rem語句采用西文單引號“′”81《ASP程序設(shè)計》3.2.1簡單編程約定1.程序中的層次感和注釋一般格式為3.2.1簡單編程約定2.單行文本轉(zhuǎn)成多行使用續(xù)行符“-”(由一個空格和一個下劃線組成),將長的語句分成多行書寫。3.使用不同進制的數(shù)字在VBScript中,可以用默認(rèn)的十進制來表示數(shù)字,還使用十六進制或八進制來表示數(shù)字。82《ASP程序設(shè)計》3.2.1簡單編程約定2.單行文本轉(zhuǎn)成多行使用續(xù)行符“3.2.2基本數(shù)據(jù)類型及其子類型

VBScript只有一種特殊的數(shù)據(jù)類型,即變體(Variant)數(shù)據(jù)類型,它可以隨著變量被使用方式的不同而包含不同的數(shù)據(jù)信息,會根據(jù)不同的應(yīng)用環(huán)境,將變量區(qū)別對待。由變體類型引申出來的類型稱為子類型。

83《ASP程序設(shè)計》3.2.2基本數(shù)據(jù)類型及其子類型VBScript只有一種3.2.3變量變量是指計算機中用來表示內(nèi)存位置的一種符號,在內(nèi)存中存儲著程序所需的各種數(shù)據(jù),腳本執(zhí)行時這個內(nèi)存中的數(shù)據(jù)可以改變。

84《ASP程序設(shè)計》3.2.3變量變量是指計算機中用來表示內(nèi)存位置的一種符號3.2.3變量1.變量命名規(guī)則

變量的名字必須以字母開頭;名字中不能含有任何的標(biāo)點符號;名字最大長度不能超過255個字符;名字不能和VBScript中的關(guān)鍵字同名;變量都有作用域,它由變量的聲明位置決定85《ASP程序設(shè)計》3.2.3變量1.變量命名規(guī)則變量的名字必須以字母開頭3.2.3變量2.聲明變量(1)隱式聲明方式:在使用變量前并不需要聲明,而可直接使用。

(2)顯式聲明方式:使用變量聲明語句來聲明變量的方式。變量聲明語句有Dim,Public和Private。

DimstrStudentNameDimstrTeacherName,strWorkerName

86《ASP程序設(shè)計》3.2.3變量2.聲明變量(1)隱式聲明方式:在使用變量3.2.3變量3.變量的作用域變量的作用域指變量的有效作用范圍。使用Dim聲明的變量,其作用域分為過程內(nèi)有效和整個程序中都有效。在變量過程內(nèi)部聲明的變量稱為過程級變量或局部變量,只能在聲明它們的過程中使用。過程外部聲明的變量稱為腳本級變量或全局變量,在同一個asp文件中的任何腳本命令均可訪問和修改該變量的值。

87《ASP程序設(shè)計》3.2.3變量3.變量的作用域變量的作用域指變量的有效作3.2.3變量<%

OptionExplicitDimintX'聲明腳本級變量

intX=1'給腳本級變量賦值

SetLocalVariab1e'調(diào)用過程修改過程級變量的值

Response.WriteintX'將腳本級變量的值發(fā)送到瀏覽器,值仍為1

SubSetLocalVariab1eDimintX'聲明過程級變量

intX=2'給過程級變量賦值

EndSub%>

88《ASP程序設(shè)計》3.2.3變量<%17《ASP程序設(shè)計》3.2.4常量通過關(guān)鍵字Const定義符號常量。例如:ConstPI=3.1415926定義日期和時間型常量時需要使用#字符將它們的值包圍起來。例如:Consttaday=#05-09-2005#

Constwork_time=#08:30:00#

89《ASP程序設(shè)計》3.2.4常量通過關(guān)鍵字Const定義符號常量。18《A3.2.5數(shù)組數(shù)組有以下幾個特點:

使用數(shù)組之前要先進行定義,然后才能使用。通常用Dim語句來定義數(shù)組。數(shù)組下標(biāo)的下界一律從0開始。一個數(shù)組中可包含各種子類型的數(shù)據(jù)元素。

數(shù)組分兩種類型,即靜態(tài)數(shù)組和動態(tài)數(shù)組。

90《ASP程序設(shè)計》3.2.5數(shù)組數(shù)組有以下幾個特點:使用數(shù)組之前要先進行3.2.5數(shù)組1.靜態(tài)數(shù)組分為一維、二維或多維數(shù)組。維數(shù)由數(shù)組名之后緊跟的括號中數(shù)字的個數(shù)決定,數(shù)組的大小由括號中的數(shù)值決定。靜態(tài)數(shù)組在編譯時開辟內(nèi)存區(qū),它的大小在運行時是不可以改變。定義一個一維數(shù)組arrVar(3):DimarrVar(3)定義一個二維數(shù)組arrTwoDim(2,3):DimarrTwoDim(2,3)

91《ASP程序設(shè)計》3.2.5數(shù)組1.靜態(tài)數(shù)組定義一個一維數(shù)組arrVar(3.2.5數(shù)組2.動態(tài)數(shù)組運行時大小可變的數(shù)組。程序沒運行,不占內(nèi)存,運行時才為其開辟內(nèi)存區(qū)。ReDim[Preserve]變量(下標(biāo))ReDimarrVar(10)DimarrVar()ReDimarrVar(4)

ReDimarrVar(6)

ReDimPreservearrVar(Ubound(arrStudent)+1)92《ASP程序設(shè)計》3.2.5數(shù)組2.動態(tài)數(shù)組DimarrVar()ReD3.2.6基本輸入輸出提供兩種非常方便的輸入輸出方法,即用來輸出消息的消息對話框(MessageBox)和用來要求用戶輸入數(shù)據(jù)的數(shù)據(jù)輸入對話框(InputBox)。

93《ASP程序設(shè)計》3.2.6基本輸入輸出提供兩種非常方便的輸入輸出方法,即3.2.6基本輸入輸出1.消息對話框MsgBox(prompt[,buttons][,title][,helpfile,context])

Prompt:字符串顯示在對話框中的消息,必需。Buttons:數(shù)值顯示按鈕的數(shù)目及形式,可選。Title:字符串顯示在標(biāo)題欄中的提示信息,可選。Helpfile:字符串識別向?qū)υ捒蛱峁┥舷挛南嚓P(guān)幫助的幫助文件,可選。Context:數(shù)值指定幫助主題內(nèi)容的編號,可選。94《ASP程序設(shè)計》3.2.6基本輸入輸出1.消息對話框Prompt:字符串3.2.6基本輸入輸出2.輸入對話框InputBox(prompt[,title][,default][,xpos][,ypos][,helpfile,context])

prompt:要顯示的消息。title:顯示在標(biāo)題欄的字符串。default:在沒有其它輸入時作為缺省值。xpos和ypos:指定對話框在屏幕中出現(xiàn)的位置。95《ASP程序設(shè)計》3.2.6基本輸入輸出2.輸入對話框prompt:要顯示3.3表達(dá)式和運算符

3.3.1

表達(dá)式和運算符概述

3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符3.3.3條件表達(dá)式及其運算符3.3.4字符串表達(dá)式及其運算符3.3.5運算符的優(yōu)先級96《ASP程序設(shè)計》3.3表達(dá)式和運算符3.3.1表達(dá)式和運算符概述3.3.1表達(dá)式和運算符概述

數(shù)學(xué)表達(dá)式:用于常規(guī)的數(shù)值運算,運算結(jié)果仍然為數(shù)值;條件表達(dá)式:常用于根據(jù)一系列條件做出判斷,并采取相應(yīng)的動作,運算結(jié)果為布爾值True或者False;字符串表達(dá)式:用來將多個字符串連接成一個較長的字符串,運算結(jié)果仍為字符串。

97《ASP程序設(shè)計》3.3.1表達(dá)式和運算符概述數(shù)學(xué)表達(dá)式:用于常規(guī)的數(shù)值3.3.1表達(dá)式和運算符概述運算符一般分為兩種:單目運算符和雙目運算符。單目運算符:只有一個前置的運算符對操作數(shù)進行操作。一般格式如下:OperatorOperand雙目運算符:在運算符的兩端各有一個操作數(shù)。一般形式如下:Operand1OperatorOperand298《ASP程序設(shè)計》3.3.1表達(dá)式和運算符概述運算符一般分為兩種:單目運算3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符

1.?dāng)?shù)學(xué)表達(dá)式

varA=varB+varCintResult=A-B*C+D/E

2.算術(shù)運算符常用的加、減、乘、除等數(shù)學(xué)算術(shù)運算。

99《ASP程序設(shè)計》3.3.2數(shù)學(xué)表達(dá)式及算術(shù)運算符1.?dāng)?shù)學(xué)表達(dá)式28《AS3.3.3條件表達(dá)式及其運算符1.條件表達(dá)式條件表達(dá)式可以通過兩種布爾運算符來進行運算:關(guān)系運算符和邏輯運算符。Ifa<10Thenb=b+1EndIf100《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符1.條件表達(dá)式條件表達(dá)式可3.3.3條件表達(dá)式及其運算符2.關(guān)系運算符運算符功能表達(dá)式實例恒等于(=)比較兩個表達(dá)式是否相等。23=23,x+1=y-5,str=””不等于(<>或><)比較兩個表達(dá)式是否不相等。X*4+1<>y,a-1<>6大于(>)一個表達(dá)式是否大于另一個表達(dá)式。5>3,var*2>6小于(<)一個表達(dá)式是否小于另一個表達(dá)式。Var<x-6,5<4大于或等于(>=)一個表達(dá)式是否大于或等于另一個表達(dá)式。“l(fā)ang”>=”name”小于或等于(<=)比較一個表達(dá)式是否小于或等于另一個表達(dá)式。X<y+4對象相等(is)判斷兩個對象是否相等。Student1isStudent2101《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符2.關(guān)系運算符運算符功能表3.3.3條件表達(dá)式及其運算符3.邏輯運算符運算符功能表達(dá)式實例取反(Not)對邏輯真取反結(jié)果為邏輯假,反之為邏輯真。NotTrue邏輯與(And)如果兩個表達(dá)式的值都為真,結(jié)果才為真,否則結(jié)果為假。(5<3)And(6>4)邏輯或(Or)兩個表達(dá)式中只要有一個為真,結(jié)果就為真,只有兩個都為假,結(jié)果才為假。(a<4)Or(3>1)異或(Xor)如果兩個表達(dá)式同時為真或同時為假,則結(jié)果為假,否則結(jié)果為真。TrueXor(a>x)等價(Eqv)是異或運算取反的結(jié)果。如果兩個表達(dá)式同時為真或同時為假,則結(jié)果為真,否則為假。(a<b)EqvFalse蘊含(Imp)當(dāng)?shù)谝粋€表達(dá)式為真,第二個表達(dá)式為假時,結(jié)果為假,否則結(jié)果為真。TrueImp(2>3)102《ASP程序設(shè)計》3.3.3條件表達(dá)式及其運算符3.邏輯運算符運算符功能3.3.4字符串表達(dá)式及其運算符

1.字符串表達(dá)式把兩個或者更多個字符串進行連接,形成一句完整的語句。

2.連接運算符連接運算符有兩個:“+”和“&”。

103《ASP程序設(shè)計》3.3.4字符串表達(dá)式及其運算符1.字符串表達(dá)式32《A3.3.5運算符的優(yōu)先級通常的運算順序是:先進行函數(shù)運算,接著進行算術(shù)運算,然后進行關(guān)系運算,最后進行邏輯運算。如果表達(dá)式中含有括號,則它的優(yōu)先級是最高的。

104《ASP程序設(shè)計》3.3.5運算符的優(yōu)先級通常的運算順序是:先進行函數(shù)運算3.4VBScript的控制結(jié)構(gòu)3.4.1控制結(jié)構(gòu)概述3.4.2選擇結(jié)構(gòu)3.4.3循環(huán)結(jié)構(gòu)105《ASP程序設(shè)計》3.4VBScript的控制結(jié)構(gòu)3.4.1控制結(jié)3.4.1控制結(jié)構(gòu)概述兩種類型的控制語句:條件控制語句包括選擇語句(If…Then…Else)和多分支選擇語句(Select…Case)。循環(huán)控制語句包括For循環(huán)控制語句(For…Next)、Do循環(huán)控制語句(Do…Loop)和While循環(huán)(While…Wend)語句。

106《ASP程序設(shè)計》3.4.1控制結(jié)構(gòu)概述兩種類型的控制語句:35《ASP程3.4.2選擇結(jié)構(gòu)1.簡單條件控制語句If條件表達(dá)式

Then語句或If條件表達(dá)式

Then語句體EndIf

107《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)1.簡單條件控制語句If條件表達(dá)式3.4.2選擇結(jié)構(gòu)2.If…Then…Else語句

If條件表達(dá)式

Then語句體1Else語句體2EndIf

108《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)2.If…Then…Else語句If3.4.2選擇結(jié)構(gòu)3.嵌套條件控制語句If條件表達(dá)式1Then[語句體1][ElseIf條件表達(dá)式2Then[語句體2]]…[Else[語句體n]]…EndIf

109《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)3.嵌套條件控制語句If條件表達(dá)式13.4.2選擇結(jié)構(gòu)4.多分支條件控制語句SelectCase測試表達(dá)式[Case表達(dá)式1[語句體1]][Case表達(dá)式2[語句體2]]…[CaseElse[語句體n]]EndSelect

110《ASP程序設(shè)計》3.4.2選擇結(jié)構(gòu)4.多分支條件控制語句SelectC3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(1)For…Next語句For循環(huán)變量=初值

To終值[Step步長]

循環(huán)體[ExitFor]Next[循環(huán)變量]

111《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(1)For…Next語3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(2)ForEach…Next語句ForEach元素

In集合

語句體Next[元素]

112《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)1.For循環(huán)(2)ForEach…3.4.3循環(huán)結(jié)構(gòu)2.Do循環(huán)

第一種:Do[While|Until循環(huán)條件]

循環(huán)體[ExitDo]Loop第二種:Do

循環(huán)體[ExitDo]Loop[While|Until循環(huán)條件]

113《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)2.Do循環(huán)第一種:Do[Whil3.4.3循環(huán)結(jié)構(gòu)3.While循環(huán)While循環(huán)條件

循環(huán)體Wend

114《ASP程序設(shè)計》3.4.3循環(huán)結(jié)構(gòu)3.While循環(huán)While循環(huán)條件3.5VBScript的函數(shù)和子過程3.5.1過程概述3.5.2VBScript的函數(shù)3.5.3VBScript的子過程115《ASP程序設(shè)計》3.5VBScript的函數(shù)和子過程3.5.1過3.5.1過程概述過程只有單一入口,但可有多個出口。在Web頁面任何位置都可以定義過程,客戶端過程通常定義在<HEAD>和</HEAD>中。可以用瀏覽器所特有的事件來調(diào)用客戶端腳本。可以向過程中傳遞任何有效的參數(shù)。過程分為無返回值的Sub(子)過程和有返回值的Function函數(shù)。116《ASP程序設(shè)計》3.5.1過程概述過程只有單一入口,但可有多個出口。3.5.2VBScript的函數(shù)[Private][Public]Function過程名[(參數(shù)列表)][語句塊]函數(shù)名=表達(dá)式[ExitFunction][語句塊]EndFunction

Private表示函數(shù)為私有函數(shù)Public表示公有函數(shù)(默認(rèn))“函數(shù)名=表達(dá)式”用于為函數(shù)設(shè)置返回值ExitFunction退出函數(shù)體117《ASP程序設(shè)計》3.5.2VBScript的函數(shù)[Private][Pu3.5.3VBScript的子過程[Private][Public]Sub過程名[(參數(shù)列表)][語句塊][ExitSub][語句塊]EndSub118《ASP程序設(shè)計》3.5.3VBScript的子過程[Private][P3.6VBScript的內(nèi)部庫函數(shù)

3.6.1數(shù)學(xué)函數(shù)3.6.2字符串函數(shù)3.6.3日期和時間函數(shù)3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.6.5數(shù)據(jù)類型判別函數(shù)119《ASP程序設(shè)計》3.6VBScript的內(nèi)部庫函數(shù)3.6.1數(shù)3.6.1數(shù)學(xué)函數(shù)名稱語法實例求平方根函數(shù)SqrSqr(2)=1.4142135623731求絕對值函數(shù)AbsAbs(-2)=2指數(shù)函數(shù)ExpExp(2)=7.38905609893065對數(shù)函數(shù)LogLog(2)=0.693147180559945符號函數(shù)SgnSgn(-5)=-1

三角函數(shù)SinSin(x)CosCos(x)TanTan(x)AtnAtn(x)120《ASP程序設(shè)計》3.6.1數(shù)學(xué)函數(shù)名稱語法實例求平方根函數(shù)SqrSqr(3.6.2字符串函數(shù)名稱語法實例空格Space(n)

刪除空白字符Trim(s)Trim("歡迎您!")="歡迎您!"長度測試Len(s)Len("歡迎您!")=4字符串截取Left(s,n)Left("北華航天工業(yè)學(xué)院",4)="北華航天"Mid(s,p,n)Mid("北華航天工業(yè)學(xué)院",5,2)="工業(yè)"Right(s,n)Right("北華航天工業(yè)學(xué)院",2)="學(xué)院"大小寫轉(zhuǎn)換Ucase(s)Ucase("Chinese")="CHINESE"Lcase(s)Lcase("CITY")="city"字符串匹配

InStr(s1,s2)InStr("北華航天工業(yè)學(xué)院","航天")=3121《ASP程序設(shè)計》3.6.2字符串函數(shù)名稱語法實例空格Space(n)

刪3.6.3日期和時間函數(shù)日期函數(shù)語法格式功能Year(Now)返回當(dāng)前系統(tǒng)的年份。Month(Now)返回當(dāng)前系統(tǒng)的月份。Day(Now)返回當(dāng)前系統(tǒng)的日期。WeekDay(Now[,n])返回當(dāng)前系統(tǒng)的星期。122《ASP程序設(shè)計》3.6.3日期和時間函數(shù)日期函數(shù)語法格式功能Year(N3.6.3日期和時間函數(shù)時間函數(shù)語法格式功能Hour(Now)返回當(dāng)前系統(tǒng)的小時(0~23)。Minute(Now)返回當(dāng)前系統(tǒng)的分鐘(0~59)。Second(Now)返回當(dāng)前系統(tǒng)的秒(0~59)。123《ASP程序設(shè)計》3.6.3日期和時間函數(shù)時間函數(shù)語法格式功能Hour(N3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)名稱功能CStr函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個字符串。CInt函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個整數(shù)。如果有小數(shù)部分則先進行四舍五入。CDate函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個日期。CBool函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個布爾值。CLng函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個長整型數(shù)。如果有小數(shù)部分,則先進行四舍五入。CSng函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個單精度數(shù)。CDbl函數(shù)將數(shù)據(jù)轉(zhuǎn)換成一個雙精度數(shù)。124《ASP程序設(shè)計》3.6.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)名稱功能CStr函數(shù)將數(shù)據(jù)轉(zhuǎn)換3.6.5數(shù)據(jù)類型判別函數(shù)名稱功能IsNull函數(shù)

測試自變量是否是Null,如果是,則返回真,否則返回假。IsEmpty函數(shù)測試自變量是否是Empty,如果是,則返回真,否則返回假。IsNumeric函數(shù)測試自變量是否是一個數(shù)值,如果是,則返回真,否則返回假。IsArray函數(shù)

測試自變量是否是一個數(shù)組,如果是,則返回真,否則返回假。IsDate函數(shù)測試自變量是否是一個日期型數(shù)據(jù),如果是,則返回真,否則返回假。IsObject函數(shù)

測試自變量是否是一個對象,如果是,則返回真,否則返回假。125《ASP程序設(shè)計》3.6.5數(shù)據(jù)類型判別函數(shù)名稱功能IsNull函數(shù)測試3.7VBScript的對象和事件

3.7.1對象和事件的概念3.7.2網(wǎng)頁及瀏覽器對象3.7.3瀏覽器內(nèi)嵌HTML控件3.7.4對象和事件實例126《ASP程序設(shè)計》3.7VBScript的對象和事件3.7.1對3.7.1對象和事件的概念對象是在瀏覽器中或者腳本編寫中用于綜合地描述一組功能和事件的組合體。事件是對網(wǎng)頁中各種控件狀態(tài)改變的一種描述。使用對象和屬性名稱時是區(qū)分大小寫的。127《ASP程序設(shè)計》3.7.1對象和事件的概念對象是在瀏覽器中或者腳本編寫中3.7.2網(wǎng)頁及瀏覽器對象1.Windows窗口對象

(1)屬性屬性名稱功能DefaultStatus用來設(shè)置狀態(tài)欄中的缺省文字。Document返回當(dāng)前窗口的文檔對象的引用。Frames返回當(dāng)前窗口中的框架。History返回當(dāng)前窗口的歷史對象。Location返回位置類型對象。Name返回當(dāng)前窗口的名字。Parent返回當(dāng)前窗口的父窗口的名字。Self對當(dāng)前窗口對象的另一個引用。Status返回或設(shè)置顯示在狀態(tài)欄中的文字。Top返回代表最高級窗口的一個對象。128《ASP程序設(shè)計》3.7.2網(wǎng)頁及瀏覽器對象1.Windows窗口對象屬3.7.2網(wǎng)頁及瀏覽器對象(2)Windows對象的方法

方法名稱功能Alert顯示一個帶“OK”按鈕的警告消息框,沒有返回值。ClearTimeout刪除一個指定的計數(shù)器,無返回值。Close關(guān)閉窗口,無返回值。Conform顯示一個帶有OK/Cancel的消息框,返回布爾類型值。Open打開一個新窗口或創(chuàng)建一個新窗口并在其中顯示一個文檔,返回一個Windows對象。Prompt顯示一個帶有

溫馨提示

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

評論

0/150

提交評論