![asp程序設(shè)計(jì)第3講課件_第1頁(yè)](http://file4.renrendoc.com/view/1b8f5432cdfe5d82b5eccefec12d73e9/1b8f5432cdfe5d82b5eccefec12d73e91.gif)
![asp程序設(shè)計(jì)第3講課件_第2頁(yè)](http://file4.renrendoc.com/view/1b8f5432cdfe5d82b5eccefec12d73e9/1b8f5432cdfe5d82b5eccefec12d73e92.gif)
![asp程序設(shè)計(jì)第3講課件_第3頁(yè)](http://file4.renrendoc.com/view/1b8f5432cdfe5d82b5eccefec12d73e9/1b8f5432cdfe5d82b5eccefec12d73e93.gif)
![asp程序設(shè)計(jì)第3講課件_第4頁(yè)](http://file4.renrendoc.com/view/1b8f5432cdfe5d82b5eccefec12d73e9/1b8f5432cdfe5d82b5eccefec12d73e94.gif)
![asp程序設(shè)計(jì)第3講課件_第5頁(yè)](http://file4.renrendoc.com/view/1b8f5432cdfe5d82b5eccefec12d73e9/1b8f5432cdfe5d82b5eccefec12d73e95.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章VBScript腳本語(yǔ)言3.1VBScript腳本語(yǔ)言概述3.2VBScript腳本語(yǔ)言基礎(chǔ)3.3VBScript的控制結(jié)構(gòu)3.4VBScript的過(guò)程與函數(shù)3.5VBScript的常用函數(shù)3.6技能與實(shí)訓(xùn)3.7思考與練習(xí)第3章VBScript腳本語(yǔ)言3.1VBScript腳1
變量與常量、數(shù)組、運(yùn)算符VBScript的條件語(yǔ)句、SelectCase語(yǔ)句、循環(huán)語(yǔ)句的語(yǔ)法理解VBScript的過(guò)程與函數(shù)VBScript的常用函數(shù)的語(yǔ)法本章要點(diǎn)本章要點(diǎn)23.1VB腳本語(yǔ)言概述腳本語(yǔ)言就是用于編寫(xiě)腳本的語(yǔ)言,使用腳本語(yǔ)言,可以擴(kuò)展HTML的功能。腳本語(yǔ)言是嵌入到HTML中進(jìn)行使用的。通過(guò)在HTML文件中直接嵌入的腳本,可以實(shí)現(xiàn)許多HTML所不能實(shí)現(xiàn)的功能,諸如在把客戶(hù)輸入的數(shù)據(jù)在向服務(wù)器提交之前先在客戶(hù)端上進(jìn)行處理和效驗(yàn),實(shí)現(xiàn)一些動(dòng)態(tài)的網(wǎng)頁(yè)效果甚至是一些簡(jiǎn)單的應(yīng)用程序。3.1VB腳本語(yǔ)言概述腳本語(yǔ)33.1.1VBScript腳本語(yǔ)言VBScript是VisualBasic的子集,編程方法和VisualBasic基本相同,但是,VisualBasic中的一些功能在VBScript中被刪除了,這主要是基于腳本的可移植性、運(yùn)行速度和安全性等方面的考慮。3.1.1VBScript腳本語(yǔ)言43.1.2在HTML中嵌入VBScript要把VBScript嵌入到HTML中,必須把所有的語(yǔ)句都包含到<script>…</script>標(biāo)簽之內(nèi)。3.1.2在HTML中嵌入VBScript5
3.2VBScript腳本語(yǔ)言基礎(chǔ)3.2.1VBScript數(shù)據(jù)類(lèi)型和運(yùn)算符1.每一種計(jì)算機(jī)語(yǔ)言都有自己所支持的數(shù)據(jù)類(lèi)型。在VBScript腳本語(yǔ)言中采用的是弱類(lèi)型的方式,即一個(gè)數(shù)據(jù)(變量或常量)不必首先作聲明,可在使用或賦值時(shí)才確定其數(shù)據(jù)的類(lèi)型。當(dāng)然也可以先聲明該數(shù)據(jù)的類(lèi)型,它是通過(guò)在賦值時(shí)自動(dòng)說(shuō)明其數(shù)據(jù)類(lèi)型的。簡(jiǎn)單的說(shuō),即VBScript在定義的時(shí)候只有一種數(shù)據(jù)類(lèi)型,稱(chēng)為Variant。Variant又被稱(chēng)為變體類(lèi)型,它是一種特殊的數(shù)據(jù)類(lèi)型,根據(jù)使用的方式,它可以包含不同類(lèi)別的信息。比如最簡(jiǎn)單的Variant可以包含數(shù)字和字符串,當(dāng)我們把這個(gè)Variant的數(shù)據(jù)放到數(shù)字上下文的環(huán)境中,那他將被理解成數(shù)字。而當(dāng)把他放到字符串上下3.2VBScript腳本語(yǔ)言基礎(chǔ)3.2.16文中的時(shí)候,就會(huì)被理解成字符串。這使得我們對(duì)Variant數(shù)據(jù)進(jìn)行編程將非常的靈活,不用擔(dān)心數(shù)據(jù)類(lèi)型的問(wèn)題,程序可以根據(jù)Variant使用環(huán)境的不同自動(dòng)轉(zhuǎn)換類(lèi)型。雖然在定義的時(shí)候VBScript僅支持一種數(shù)據(jù)類(lèi)型,但是,在具體的使用中,Variant這種數(shù)據(jù)類(lèi)型可以進(jìn)一步區(qū)分?jǐn)?shù)據(jù)的特定類(lèi)型含義。例如使用數(shù)值信息表示日期或時(shí)間。此類(lèi)數(shù)據(jù)在與其他日期或時(shí)間數(shù)據(jù)一起使用時(shí),結(jié)果也總是表示為日期或時(shí)間。當(dāng)然,從Boolean值到浮點(diǎn)數(shù),數(shù)值信息是多種多樣的。Variant包含的數(shù)值類(lèi)型信息稱(chēng)為子類(lèi)型。Variant包含的子類(lèi)型如表3.1所示。文中的時(shí)候,就會(huì)被理解成字符串。這使得我們對(duì)Varia7表3.1Variant
包含的數(shù)據(jù)子類(lèi)型子類(lèi)型描述Empty未初始化的Variant。對(duì)于數(shù)值變量,值為0;對(duì)于字符串變量,值為零長(zhǎng)度字符串("")Null不包含任何有效數(shù)據(jù)的VariantBooleanTrue或FalseByte以一字節(jié)8位無(wú)符號(hào)數(shù)進(jìn)行存儲(chǔ),取值范圍在0到255之間Integer-32,768到32,767之間的整數(shù)Currency-922,337,203,685,477.5808到922,337,203,685,477.5807Long-2,147,483,648到2,147,483,647之間的整數(shù)Single單精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從-3.402823E38到-1.401298E-45,正數(shù)范圍從1.401298E-45到3.402823E38Double雙精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從-1.79769313486232E308到-4.94065645841247E-324,正數(shù)范圍從4.94065645841247E-324到1.79769313486232E308Date(Time)表示日期的數(shù)字,日期范圍從公元100年1月1日到公元9999年12月31日String變長(zhǎng)字符串,最大長(zhǎng)度可為20億個(gè)字符Object包含對(duì)象Error用于保存VBScript產(chǎn)生的錯(cuò)誤代碼表3.1Variant包含的數(shù)據(jù)子類(lèi)型子類(lèi)型描述Empt8對(duì)于Variant類(lèi)型的數(shù)據(jù),可以使用類(lèi)型轉(zhuǎn)換函數(shù)還轉(zhuǎn)換其的數(shù)據(jù)類(lèi)型。也可以通過(guò)VarType()函數(shù)的返回值來(lái)確定數(shù)據(jù)的子類(lèi)型。返回值與子類(lèi)型的對(duì)應(yīng)情況如表3.2所示。表3.2VarType常數(shù)對(duì)于Variant類(lèi)型的數(shù)據(jù),可以使用類(lèi)型轉(zhuǎn)換函數(shù)還轉(zhuǎn)9asp程序設(shè)計(jì)第3講課件101.算術(shù)運(yùn)算符算術(shù)運(yùn)算符用來(lái)執(zhí)行簡(jiǎn)單的算術(shù)運(yùn)算,是最常用的運(yùn)算符。算術(shù)運(yùn)算符按照他們的優(yōu)先順序如表3.3所示。
1.算術(shù)運(yùn)算符112.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又稱(chēng)為比較運(yùn)算符,用于對(duì)兩個(gè)表達(dá)式進(jìn)行比較,得到是(true)或非(false)的結(jié)果。所有關(guān)系運(yùn)算符的優(yōu)先級(jí)都是一樣的,直接按照從左到右的順序執(zhí)行。VBScript中的關(guān)系運(yùn)算符如表3.4所示。2.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又稱(chēng)為比較運(yùn)算符,用于對(duì)兩個(gè)表達(dá)式123.連接運(yùn)算符VBScript中的連接運(yùn)算符有“&”和“+”,用于把兩個(gè)字符串連接形成一個(gè)新的字符串。比如以下這一條語(yǔ)句:“hello,”&“vbscript!”他的執(zhí)行結(jié)果為一個(gè)“hello,vbscript!”的字符串。在這條語(yǔ)句中,把“&”運(yùn)算符替換為“+”運(yùn)算符也會(huì)得到一樣的結(jié)果。在VBScript中,“+”和“&”運(yùn)算符一樣,都可以作為連接運(yùn)算符,但是“+”運(yùn)算符又是加法運(yùn)算符,所以,在某些情況下,用“&”會(huì)比用“+”更安全。3.連接運(yùn)算符13具體來(lái)說(shuō),使用“&”運(yùn)算符時(shí),參與連接的兩個(gè)表達(dá)式可以不全是字符串,即“&”運(yùn)算符能強(qiáng)制性地將兩個(gè)表達(dá)式做字符串連接。如下代碼所示。<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>“&”連接運(yùn)算程序舉例</title></head><body><scriptlanguage="VBScript"type="text/VBScript">
具體來(lái)說(shuō),使用“&”運(yùn)算符時(shí),參與連接的兩個(gè)表達(dá)式可以14subshowMessage dimintNum,strResultintNum=99 strResult="66"&intNum
msgBox("strResult的結(jié)果值為:"&strResult)endsubcallshowMessage</script></body></html>程序運(yùn)行如圖3.2所示。subshowMessage 程序運(yùn)行如圖3.2所示。15使用“+”運(yùn)算符時(shí),如果連接的兩個(gè)操作數(shù)中一個(gè)是非數(shù)字字符串,另一個(gè)是數(shù)字,則會(huì)出錯(cuò)。例如,如下的代碼會(huì)產(chǎn)生錯(cuò)誤:<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><%="序號(hào)是"+99%>程序運(yùn)行,提示錯(cuò)誤如圖3.3所示。使用“+”運(yùn)算符時(shí),如果連接的兩個(gè)操作數(shù)中一個(gè)是非數(shù)字16圖3.3連接運(yùn)算符“+”錯(cuò)誤程序示例圖3.3連接運(yùn)算符“+”錯(cuò)誤程序示例17
4.邏輯運(yùn)算符邏輯運(yùn)算也稱(chēng)為布爾運(yùn)算。VBScript中的邏輯運(yùn)算包含六種,如表3.5所示。表3.5VBScript的邏輯運(yùn)算符4.邏輯運(yùn)算符183.2.2VBScript的變量與常量1.常量在VBScript中,常量可以分為兩種,分別為文字常量和字符常量。文字常量通常又可以稱(chēng)為字面量,也就是數(shù)據(jù)本身。符號(hào)常量才是在這個(gè)章節(jié)中要談?wù)摰?,它允許實(shí)現(xiàn)指定一個(gè)符號(hào)來(lái)代替某些數(shù)字或字符串。在沒(méi)有特別說(shuō)明的情況下,常量就是指符號(hào)常量。要使用常量之前,必須先創(chuàng)建它。創(chuàng)建一個(gè)常量可以使用Const語(yǔ)句,在使用Const語(yǔ)句創(chuàng)建常量的同時(shí),要為這個(gè)常量賦予一個(gè)具有含義的文字常量。例如:ConstCon_name="zeus"3.2.2VBScript的變量與常量19那么,在包含了這條語(yǔ)句的VBScript塊中,只要使用Con_name就表示引用了“zeus”。請(qǐng)注意zeus包含在兩個(gè)引號(hào)之間。這表示zeus是一個(gè)字符串。這是字符串型常量和數(shù)值型常量在表達(dá)上的區(qū)別。如果是要?jiǎng)?chuàng)建一個(gè)數(shù)值型常量,那么就要如下這樣寫(xiě):ConstCon_age=23而日期文字和時(shí)間文字就必須包含在兩個(gè)井號(hào)(#)之間。例如:ConstCon_date=#23-3-2005#那么,在包含了這條語(yǔ)句的VBScript塊中,只要使用Con202.變量聲明一個(gè)變量,就可以在內(nèi)存中開(kāi)辟一個(gè)存儲(chǔ)空間。這個(gè)存儲(chǔ)空間的地址可以通過(guò)這個(gè)變量的變量名來(lái)引用,這樣就能夠通過(guò)變量名來(lái)訪(fǎng)問(wèn)內(nèi)存中的數(shù)據(jù),并且在VBScript塊運(yùn)行的過(guò)程中,能夠?qū)@塊內(nèi)存空間中的數(shù)據(jù)進(jìn)行修改。聲明變量的一種方式是使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句在Script中聲明變量。例如:DimMage當(dāng)要聲明多個(gè)變量的時(shí),可以使用逗號(hào)來(lái)分隔變量,例如:DimMage1,Mage2,Mage32.變量21這種使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句來(lái)聲明變量的方法,稱(chēng)之為顯式聲明。另外一種方法,可以不聲明而直接使用,當(dāng)這個(gè)變量被第一次使用的時(shí)候,同時(shí)也默認(rèn)的進(jìn)行了聲明,這種聲明方式被稱(chēng)為隱式聲明
OptionExplicit就可以強(qiáng)制要求在這個(gè)VBScript塊中必須使用顯式聲明來(lái)聲明變量。當(dāng)在聲明一個(gè)變量的時(shí)候,變量名并不是能夠隨便命名的。必須遵循VBScript的標(biāo)準(zhǔn)命名規(guī)則,變量命名必須遵循:第一個(gè)字符必須是字母不能包含嵌入的句點(diǎn)長(zhǎng)度不能超過(guò)255個(gè)字符在被聲明的作用域內(nèi)必須唯一不能把VBScript的保留字(關(guān)鍵字)作為變量名,但這種使用Dim語(yǔ)句、Public語(yǔ)句和Private22可以嵌入到變量名中VBScript不區(qū)分變量名中的大小寫(xiě),“HELLO”和“hello”作為變量名是指同一個(gè)變量。聲明了變量后,就需要為變量賦值,賦值是通過(guò)賦值運(yùn)算符(=)來(lái)實(shí)現(xiàn)的,變量名放在賦值表達(dá)式的左邊,值放在賦值表達(dá)式的右邊。例如:Mage=23Mage=“男”第一條語(yǔ)句把數(shù)值23賦值給變量Mage,這個(gè)時(shí)候變量Mage以Integer類(lèi)型存儲(chǔ)。第二條語(yǔ)句再字符串“男”賦值給Mage,這個(gè)時(shí)候變量Mage的值就為“男”,并以String類(lèi)型存儲(chǔ)??梢郧度氲阶兞棵新暶髁俗兞亢?,就需要為變量賦值,賦值是通過(guò)23
3.2.3數(shù)組所謂數(shù)組就是指具有相同數(shù)據(jù)類(lèi)型的變量集合。在這集合里的變量擁有共同的名字,每個(gè)特定元素都使用名字加下標(biāo)來(lái)訪(fǎng)問(wèn)。數(shù)組也應(yīng)該是屬于變量的一種,但是這種變量是可以構(gòu)造,所以,通常把在前一節(jié)介紹的變量稱(chēng)為標(biāo)量變量,而把數(shù)組稱(chēng)為數(shù)組變量。數(shù)組變量的聲明和標(biāo)量變量聲明的關(guān)鍵字是相同的,都是使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句來(lái)進(jìn)行聲明,不同的是,因?yàn)閿?shù)組是一個(gè)用下標(biāo)來(lái)區(qū)別的變量集合,所以在創(chuàng)建的時(shí)候要在變量名后面多加個(gè)(),用于在其中指定這個(gè)變量集合最高的下標(biāo)數(shù)值。3.2.3數(shù)組24<html><head><scriptlanguage="vbscript"> dima() dimb() dimstr redima(2):redimb(2)//在一行中書(shū)寫(xiě)多條語(yǔ)句,可以使用“:”進(jìn)行分隔 聲明數(shù)組的方式為:
Dim[Public|Private]數(shù)組名(下標(biāo))<html>聲明數(shù)組的方式為:
Dim[Public|Pr25幾種循環(huán)比較
a(0)=1:a(1)=1:b(0)=2:b(1)=2 redima(1)//不加Preserve關(guān)鍵字改變a數(shù)組大小 redimpreserveb(1)//加Preserve關(guān)鍵字改變b數(shù)組大小 msgboxa(0) msgboxb(0)</script></head><body></body></html>幾種循環(huán)比較a(0)=1:a(1)=1:b(0)=2:26因?yàn)槌绦蛑邪瑑蓚€(gè)msgbox函數(shù),所以會(huì)出現(xiàn)兩次對(duì)話(huà)框,分別如下圖3.5所示。圖3.5用msgbox輸出a(0)和b(0)因?yàn)槌绦蛑邪瑑蓚€(gè)msgbox函數(shù),所以會(huì)出現(xiàn)兩次對(duì)27圖3.2.1是語(yǔ)句msgboxa(0)的結(jié)果,彈出的對(duì)話(huà)框上提示信息為空,表示a(0)為空。這是因?yàn)樵诟淖僡數(shù)組大小的時(shí)候沒(méi)加Preserve關(guān)鍵字,元素?cái)?shù)據(jù)丟失。而圖3.2.2是語(yǔ)句msgboxb(0)的結(jié)果,提示信息為2,正好等于b(2)的值。圖3.2.1是語(yǔ)句msgboxa(0)的結(jié)果,彈出的對(duì)話(huà)框283.3VBScript的控制結(jié)構(gòu)
3.3.1條件語(yǔ)句條件結(jié)構(gòu)也可以稱(chēng)為選擇結(jié)構(gòu),它的作用是,根據(jù)所指定的條件是否滿(mǎn)足,決定從給定的兩組操作中選擇其中的一個(gè)進(jìn)行執(zhí)行。用于構(gòu)成條件結(jié)構(gòu)的語(yǔ)句就是條件語(yǔ)句。在VBScript中,條件結(jié)構(gòu)可以用IF語(yǔ)句來(lái)實(shí)現(xiàn)。3.3VBScript的控制結(jié)構(gòu)
3.3.1條件語(yǔ)句29IF語(yǔ)句常用的形式是:IF判斷表達(dá)式THEN語(yǔ)句體1ELSE語(yǔ)句體2ENDIF在IF語(yǔ)句中,ELSE子句并不是必須的。如果只需要定義判斷條件滿(mǎn)足時(shí)候的操作而不需要關(guān)心條件不滿(mǎn)足的情況,可以省略。則條件語(yǔ)句變?yōu)椋篒F判斷表達(dá)式THEN語(yǔ)句體1ENDIFIF語(yǔ)句常用的形式是:30即是添加ELSEIF子句來(lái)擴(kuò)展IF語(yǔ)句。變形后的語(yǔ)句形式如下:IF判斷表達(dá)式1THEN語(yǔ)句體1ELSEIF判斷表達(dá)式2THEN語(yǔ)句體2ELSEIF判斷表達(dá)式3THEN語(yǔ)句體3…ELSEIF判斷表達(dá)式NTHEN語(yǔ)句體NELSE語(yǔ)句體N+1ENDIF即是添加ELSEIF子句來(lái)擴(kuò)展IF語(yǔ)句。變形后的語(yǔ)句形式如下313.4.1過(guò)程簡(jiǎn)單的說(shuō),過(guò)程就是一組用于實(shí)現(xiàn)一個(gè)特定功能的語(yǔ)句的集合。定義過(guò)程的形式如下:SUB過(guò)程名(參數(shù)列表)語(yǔ)句體ENDSUB下面是一個(gè)過(guò)程,其中只有一條語(yǔ)句,用于輸出:suboutp()msgbox“一個(gè)過(guò)程”endsub3.4VBScript的過(guò)程與函數(shù)3.4.1過(guò)程3.4VBScript的過(guò)程與函數(shù)323.4.2函數(shù)Function函數(shù)名(參數(shù)列表)語(yǔ)句體函數(shù)名=值ENDFunction函數(shù)和過(guò)程一樣,也是一組用于實(shí)現(xiàn)一個(gè)特定功能的語(yǔ)句的集合下面是一個(gè)函數(shù),用于比較兩個(gè)數(shù)的大小,并把兩個(gè)數(shù)字的正數(shù)差(總是大減?。┳鳛楹瘮?shù)返回值:Functionconv(a,b)dimtempifa>bthentemp=a-b3.4.2函數(shù)33Elsetemp=b-aendifconv=tempendFunctionElsetemp=b-a343.4.3過(guò)程與函數(shù)的調(diào)用調(diào)用它的語(yǔ)法的如下:outp()或calloutp()如果是一個(gè)有返回值的函數(shù),可以把函數(shù)放到賦值號(hào)的右邊。例如:turnum=conv(num(0),num(1)) 3.4.3過(guò)程與函數(shù)的調(diào)用35<html><head><scriptlanguage="vbscript">Dimnum(1)num(0)=23//設(shè)定自己年齡為23num(1)=inputbox("pleaseinputyourage:")//用戶(hù)輸入年齡num(1)=cint(num(1))//把用戶(hù)年齡轉(zhuǎn)換為整形數(shù)據(jù)Functionconv(a,b)dimtempifa>bthentemp=a-belsetemp=b-aendifconv=tempendFunctionsuboutp()dimturnum<html>36turnum=conv(num(0),num(1))//調(diào)用函數(shù)msgbox"年齡相差:"&turnum&"歲"endsuboutp()/調(diào)用過(guò)程</script></head><body></body></html>turnum=conv(num(0),num(1))373.5VBScript的常用函數(shù)
3.5.1MsgBox函數(shù)
MsgBox函數(shù)用于彈出一個(gè)帶有提示消息和按鈕的對(duì)話(huà)框,在把消息提示給瀏覽者后,也會(huì)返回瀏覽者單擊按鈕的編碼值。MsgBox函數(shù)完整形式描述如下:MsgBox提示消息,按鈕,標(biāo)題,幫助文件,幫助文件上下文編號(hào)其中,后兩個(gè)屬性應(yīng)用較少,就不做介紹了。其他屬性的說(shuō)明如下:3.5VBScript的常用函數(shù)
3.5.1MsgB38提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,最大長(zhǎng)度可以有1024個(gè)字符。如果需要包含多個(gè)行,可以使用回車(chē)符(Chr(13))、換行符(Chr(10))或回車(chē)換行符的組合(Chr(13)&Chr(10))分隔各行。按鈕:用來(lái)指定顯示按鈕的數(shù)量和類(lèi)型,設(shè)置的值與對(duì)應(yīng)的描述見(jiàn)表3.6。當(dāng)對(duì)話(huà)框需要同時(shí)具有多個(gè)描述的特征的時(shí)候,可以把對(duì)應(yīng)的值進(jìn)行相加運(yùn)算,例如我需要“顯示放棄、重試和忽略按鈕”并且“顯示臨界信息圖標(biāo)”,則數(shù)值應(yīng)該設(shè)置為18(2+16);提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,最大長(zhǎng)度可以有139asp程序設(shè)計(jì)第3講課件403.5.2InputBox函數(shù)InputBox函數(shù)用于彈出一個(gè)帶有提示消息和文本框的對(duì)話(huà)框,用于提示用戶(hù)和返回用戶(hù)輸入到文本框中的信息。InputBox函數(shù)完整形式描述如下:InputBox提示消息,標(biāo)題,文本框默認(rèn)字符串,水平位置,垂直位置,幫助文件,幫助文件上下文編號(hào)屬性說(shuō)明如下:3.5.2InputBox函數(shù)41提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,具體說(shuō)明可以參照MsgBox函數(shù)的提示消息說(shuō)明;標(biāo)題:設(shè)置對(duì)話(huà)框標(biāo)題欄顯示的字符串;文本框默認(rèn)字符串:顯示在文本框中的字符串,如果省略,顯示為空;水平位置:用于指定對(duì)話(huà)框的左邊緣與屏幕左邊緣的水平距離,如果為空,則水平居中;垂直位置:用于指定對(duì)話(huà)框的左邊緣與屏幕上邊緣的垂直距離,如果為空,則垂直居中;和MsgBox函數(shù)一樣,除了第一個(gè)屬性是必須的外,其他屬性都是可選屬性。提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,具體說(shuō)明可以參照423.5.3數(shù)學(xué)函數(shù)
VBScript函數(shù)支持多種數(shù)學(xué)函數(shù),使用這些函數(shù),可以輕松的解決程序開(kāi)發(fā)過(guò)程中的數(shù)學(xué)運(yùn)算問(wèn)題?,F(xiàn)將一些常用的數(shù)學(xué)函數(shù)列表如表3.7,以備大家學(xué)習(xí)和參考。3.5.3數(shù)學(xué)函數(shù)
VBScript函數(shù)支持多種數(shù)學(xué)函數(shù)433.5.4字符串函數(shù)
同樣,在VBScript中也提供了豐富的字符串函數(shù)用于對(duì)字符串進(jìn)行處理,函數(shù)列表如表3.8所示。
表3.8常用字符串函數(shù)3.5.4字符串函數(shù)
同樣,在VBScrip443.5.5日期和時(shí)間函數(shù)
VBScript的日期和時(shí)間函數(shù)如表3.9所示。
表3.9常用日期和時(shí)間函數(shù)3.5.5日期和時(shí)間函數(shù)
VBScript的日期和時(shí)間函453.5.6數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)
VBScript的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)如表3.10所示。
表3.10常用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)3.5.6數(shù)據(jù)類(lèi)型轉(zhuǎn)463.5.7數(shù)據(jù)類(lèi)型判別函數(shù)
VBScript的數(shù)據(jù)類(lèi)型判斷函數(shù)如表3.11所示。
表3.11常用數(shù)據(jù)類(lèi)型判別函數(shù)3.5.7數(shù)據(jù)類(lèi)型判47輸入一個(gè)日期,然后判斷出這個(gè)日期是星期幾,并把這個(gè)結(jié)果輸出。(提示:使用weekday(日期)函數(shù)可以返回星期編碼,禮拜天返回1,禮拜一返回2,…禮拜六返回7),程序如下:<html><head><scriptlanguage="vbscript">dimdat,wnumdat=inputbox("輸入時(shí)間"&Chr(13)&"格式為:")wnum=weekday(dat)selectcasewnum3.6技能與實(shí)訓(xùn)輸入一個(gè)日期,然后判斷出這個(gè)日期是星期幾,并把這個(gè)結(jié)果輸出。48case1msgbox"禮拜天"case2msgbox"禮拜一"case3msgbox"禮拜二"case4msgbox"禮拜三"case5msgbox"禮拜四"case6msgbox"禮拜五"case7msgbox"禮拜六"endselect</script></head><body></body></html>case1493.7思考與練習(xí)1.填空題(1)VBScript腳本就是以___________開(kāi)始,以___________結(jié)束的語(yǔ)句塊。(2)在If語(yǔ)句中,Else子句___________必須的。如果只需要定義判斷條件滿(mǎn)足時(shí)候的操作,而不需要關(guān)心條件不滿(mǎn)足的情況,可以___________。(3)寫(xiě)出下列常用函數(shù)的作用Left(String,num):___________。Date():___________。Cdate(expression):___________。IsNUll(myvar):___________。3.7思考與練習(xí)1.填空題50(4)在VBScript腳本語(yǔ)言中,只有一種數(shù)據(jù)類(lèi)型,即___________。(5)在VBScript腳本語(yǔ)言中,用___________語(yǔ)句來(lái)顯式聲明變量。(6)在VBScript腳本語(yǔ)言中,#2005-1-1310:35:20AM#是___________類(lèi)型的常量。(7)根據(jù)變量的作用域,變量可分為_(kāi)__________變量和腳本級(jí)變量。(8)計(jì)算表達(dá)式的值:24Mod5=___________。(4)在VBScript腳本語(yǔ)言中,只有一種數(shù)據(jù)類(lèi)型,51(9)表達(dá)式(3>4)and(4<>5)的結(jié)果為_(kāi)__________,表達(dá)式"cdef">"cdma"的結(jié)果為_(kāi)__________。(10)求函數(shù)值:left("淄博職業(yè)學(xué)院信息工程系,4")=___________。圖3.11信息框(11)下列語(yǔ)句的執(zhí)行結(jié)果為_(kāi)__________。Result="11"&22Response.Write"運(yùn)行結(jié)果為:"&Result
(9)表達(dá)式(3>4)and(4<>5)的結(jié)果為_(kāi)52(12)使用VBScript函數(shù),顯示如圖所示的信息框,語(yǔ)句為_(kāi)__________。(13)為了強(qiáng)制要求在VBScript塊必須使用顯式聲明來(lái)聲明變量,可以在語(yǔ)句塊中使用的語(yǔ)句是___________。(14)Function語(yǔ)句用于聲明___________,Sub語(yǔ)句用于聲明___________。(12)使用VBScript函數(shù),顯示如圖所示的信息框,語(yǔ)532.選擇題(1)以下關(guān)于VBScript敘述錯(cuò)誤的是()。A.VBScript和VB是一樣的 B.VBScript是ASP的默認(rèn)腳本語(yǔ)言C.VBScript可以直接由IE執(zhí)行 D.VBScript不區(qū)分大小寫(xiě)(2)在進(jìn)行字符串連接操作時(shí),最好使用()運(yùn)算符號(hào)。A.AddB.&C.+ D.*(3)以下不是VBSscript中定義變量的關(guān)鍵字是()。A.Dim B.Private C.Public D.Integer(4)以下不是VBSscript中定義數(shù)組的關(guān)鍵字是()。A.Dim B.Private C.Public D.Integer2.選擇題54(5)以下不是VBScript算術(shù)運(yùn)算符的是()。A.+ B./ C.mod D.=(6)在進(jìn)行字符串連接操作時(shí),最好使用()運(yùn)算符號(hào)。A.add B.& C.+ D.*(7)以下常量表示日期的是()。A.2005 B.2005-10-9 C.2005.10.9 D.#2005-10-9#(8)Len(String)函數(shù)返回的是()。A.字符串的長(zhǎng)度 B.string右邊的num個(gè)字符C.將string轉(zhuǎn)換成字符串型 D.創(chuàng)建含有l(wèi)en個(gè)字符的字符串(5)以下不是VBScript算術(shù)運(yùn)算符的是()。553.判斷題(1)VBScript完全能夠取代HTML。()(2)VBScript只有一種Variant數(shù)據(jù)類(lèi)型。()(3)VBScript可以直接操作客戶(hù)機(jī)上的文件。()(4)DimA(9)定義了具有9個(gè)數(shù)組元素的數(shù)組。()(5)“+”和“&”都可以作為字符串連接符。()(6)MsgBox函數(shù)必須包含“提示信息”參數(shù)。()3.判斷題564.思考題(1)論述VBScript與VB在數(shù)據(jù)類(lèi)型上的不同點(diǎn)。(2)提示用戶(hù)輸入兩個(gè)數(shù)字,然后把數(shù)字相加并輸出。(3)論述函數(shù)和過(guò)程的相同點(diǎn)和不同點(diǎn)。(4)將vbscript編譯成密碼,編譯的方法是把相關(guān)字母替換成其字母表后的一個(gè)字母,如v替換為w,并把替換生成的字符串輸出(提示用戶(hù)輸入一段字符串,把這段字符串中的數(shù)字全部挑選出來(lái),并輸出這串?dāng)?shù)字)。4.思考題57(5)提示用戶(hù)輸入兩個(gè)長(zhǎng)度大于4的字符串,截取這兩個(gè)字符串的前4個(gè)字符,按照順序相互交叉連接(例如ABCD和abcd交叉結(jié)果為AaBbCcDd),并把所得結(jié)果輸出。(6)編寫(xiě)一個(gè)系統(tǒng)登錄的客戶(hù)端數(shù)據(jù)檢驗(yàn)程序,要求用戶(hù)名(userName)及密碼(userPassword)非空,只能使用數(shù)字、英文字母,且字符不少于5個(gè)。(提示:可以使用正則表達(dá)式)(5)提示用戶(hù)輸入兩個(gè)長(zhǎng)度大于4的字符串,截取這兩個(gè)字符串58第3章VBScript腳本語(yǔ)言3.1VBScript腳本語(yǔ)言概述3.2VBScript腳本語(yǔ)言基礎(chǔ)3.3VBScript的控制結(jié)構(gòu)3.4VBScript的過(guò)程與函數(shù)3.5VBScript的常用函數(shù)3.6技能與實(shí)訓(xùn)3.7思考與練習(xí)第3章VBScript腳本語(yǔ)言3.1VBScript腳59
變量與常量、數(shù)組、運(yùn)算符VBScript的條件語(yǔ)句、SelectCase語(yǔ)句、循環(huán)語(yǔ)句的語(yǔ)法理解VBScript的過(guò)程與函數(shù)VBScript的常用函數(shù)的語(yǔ)法本章要點(diǎn)本章要點(diǎn)603.1VB腳本語(yǔ)言概述腳本語(yǔ)言就是用于編寫(xiě)腳本的語(yǔ)言,使用腳本語(yǔ)言,可以擴(kuò)展HTML的功能。腳本語(yǔ)言是嵌入到HTML中進(jìn)行使用的。通過(guò)在HTML文件中直接嵌入的腳本,可以實(shí)現(xiàn)許多HTML所不能實(shí)現(xiàn)的功能,諸如在把客戶(hù)輸入的數(shù)據(jù)在向服務(wù)器提交之前先在客戶(hù)端上進(jìn)行處理和效驗(yàn),實(shí)現(xiàn)一些動(dòng)態(tài)的網(wǎng)頁(yè)效果甚至是一些簡(jiǎn)單的應(yīng)用程序。3.1VB腳本語(yǔ)言概述腳本語(yǔ)613.1.1VBScript腳本語(yǔ)言VBScript是VisualBasic的子集,編程方法和VisualBasic基本相同,但是,VisualBasic中的一些功能在VBScript中被刪除了,這主要是基于腳本的可移植性、運(yùn)行速度和安全性等方面的考慮。3.1.1VBScript腳本語(yǔ)言623.1.2在HTML中嵌入VBScript要把VBScript嵌入到HTML中,必須把所有的語(yǔ)句都包含到<script>…</script>標(biāo)簽之內(nèi)。3.1.2在HTML中嵌入VBScript63
3.2VBScript腳本語(yǔ)言基礎(chǔ)3.2.1VBScript數(shù)據(jù)類(lèi)型和運(yùn)算符1.每一種計(jì)算機(jī)語(yǔ)言都有自己所支持的數(shù)據(jù)類(lèi)型。在VBScript腳本語(yǔ)言中采用的是弱類(lèi)型的方式,即一個(gè)數(shù)據(jù)(變量或常量)不必首先作聲明,可在使用或賦值時(shí)才確定其數(shù)據(jù)的類(lèi)型。當(dāng)然也可以先聲明該數(shù)據(jù)的類(lèi)型,它是通過(guò)在賦值時(shí)自動(dòng)說(shuō)明其數(shù)據(jù)類(lèi)型的。簡(jiǎn)單的說(shuō),即VBScript在定義的時(shí)候只有一種數(shù)據(jù)類(lèi)型,稱(chēng)為Variant。Variant又被稱(chēng)為變體類(lèi)型,它是一種特殊的數(shù)據(jù)類(lèi)型,根據(jù)使用的方式,它可以包含不同類(lèi)別的信息。比如最簡(jiǎn)單的Variant可以包含數(shù)字和字符串,當(dāng)我們把這個(gè)Variant的數(shù)據(jù)放到數(shù)字上下文的環(huán)境中,那他將被理解成數(shù)字。而當(dāng)把他放到字符串上下3.2VBScript腳本語(yǔ)言基礎(chǔ)3.2.164文中的時(shí)候,就會(huì)被理解成字符串。這使得我們對(duì)Variant數(shù)據(jù)進(jìn)行編程將非常的靈活,不用擔(dān)心數(shù)據(jù)類(lèi)型的問(wèn)題,程序可以根據(jù)Variant使用環(huán)境的不同自動(dòng)轉(zhuǎn)換類(lèi)型。雖然在定義的時(shí)候VBScript僅支持一種數(shù)據(jù)類(lèi)型,但是,在具體的使用中,Variant這種數(shù)據(jù)類(lèi)型可以進(jìn)一步區(qū)分?jǐn)?shù)據(jù)的特定類(lèi)型含義。例如使用數(shù)值信息表示日期或時(shí)間。此類(lèi)數(shù)據(jù)在與其他日期或時(shí)間數(shù)據(jù)一起使用時(shí),結(jié)果也總是表示為日期或時(shí)間。當(dāng)然,從Boolean值到浮點(diǎn)數(shù),數(shù)值信息是多種多樣的。Variant包含的數(shù)值類(lèi)型信息稱(chēng)為子類(lèi)型。Variant包含的子類(lèi)型如表3.1所示。文中的時(shí)候,就會(huì)被理解成字符串。這使得我們對(duì)Varia65表3.1Variant
包含的數(shù)據(jù)子類(lèi)型子類(lèi)型描述Empty未初始化的Variant。對(duì)于數(shù)值變量,值為0;對(duì)于字符串變量,值為零長(zhǎng)度字符串("")Null不包含任何有效數(shù)據(jù)的VariantBooleanTrue或FalseByte以一字節(jié)8位無(wú)符號(hào)數(shù)進(jìn)行存儲(chǔ),取值范圍在0到255之間Integer-32,768到32,767之間的整數(shù)Currency-922,337,203,685,477.5808到922,337,203,685,477.5807Long-2,147,483,648到2,147,483,647之間的整數(shù)Single單精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從-3.402823E38到-1.401298E-45,正數(shù)范圍從1.401298E-45到3.402823E38Double雙精度浮點(diǎn)數(shù),負(fù)數(shù)范圍從-1.79769313486232E308到-4.94065645841247E-324,正數(shù)范圍從4.94065645841247E-324到1.79769313486232E308Date(Time)表示日期的數(shù)字,日期范圍從公元100年1月1日到公元9999年12月31日String變長(zhǎng)字符串,最大長(zhǎng)度可為20億個(gè)字符Object包含對(duì)象Error用于保存VBScript產(chǎn)生的錯(cuò)誤代碼表3.1Variant包含的數(shù)據(jù)子類(lèi)型子類(lèi)型描述Empt66對(duì)于Variant類(lèi)型的數(shù)據(jù),可以使用類(lèi)型轉(zhuǎn)換函數(shù)還轉(zhuǎn)換其的數(shù)據(jù)類(lèi)型。也可以通過(guò)VarType()函數(shù)的返回值來(lái)確定數(shù)據(jù)的子類(lèi)型。返回值與子類(lèi)型的對(duì)應(yīng)情況如表3.2所示。表3.2VarType常數(shù)對(duì)于Variant類(lèi)型的數(shù)據(jù),可以使用類(lèi)型轉(zhuǎn)換函數(shù)還轉(zhuǎn)67asp程序設(shè)計(jì)第3講課件681.算術(shù)運(yùn)算符算術(shù)運(yùn)算符用來(lái)執(zhí)行簡(jiǎn)單的算術(shù)運(yùn)算,是最常用的運(yùn)算符。算術(shù)運(yùn)算符按照他們的優(yōu)先順序如表3.3所示。
1.算術(shù)運(yùn)算符692.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又稱(chēng)為比較運(yùn)算符,用于對(duì)兩個(gè)表達(dá)式進(jìn)行比較,得到是(true)或非(false)的結(jié)果。所有關(guān)系運(yùn)算符的優(yōu)先級(jí)都是一樣的,直接按照從左到右的順序執(zhí)行。VBScript中的關(guān)系運(yùn)算符如表3.4所示。2.關(guān)系運(yùn)算符
關(guān)系運(yùn)算符又稱(chēng)為比較運(yùn)算符,用于對(duì)兩個(gè)表達(dá)式703.連接運(yùn)算符VBScript中的連接運(yùn)算符有“&”和“+”,用于把兩個(gè)字符串連接形成一個(gè)新的字符串。比如以下這一條語(yǔ)句:“hello,”&“vbscript!”他的執(zhí)行結(jié)果為一個(gè)“hello,vbscript!”的字符串。在這條語(yǔ)句中,把“&”運(yùn)算符替換為“+”運(yùn)算符也會(huì)得到一樣的結(jié)果。在VBScript中,“+”和“&”運(yùn)算符一樣,都可以作為連接運(yùn)算符,但是“+”運(yùn)算符又是加法運(yùn)算符,所以,在某些情況下,用“&”會(huì)比用“+”更安全。3.連接運(yùn)算符71具體來(lái)說(shuō),使用“&”運(yùn)算符時(shí),參與連接的兩個(gè)表達(dá)式可以不全是字符串,即“&”運(yùn)算符能強(qiáng)制性地將兩個(gè)表達(dá)式做字符串連接。如下代碼所示。<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>“&”連接運(yùn)算程序舉例</title></head><body><scriptlanguage="VBScript"type="text/VBScript">
具體來(lái)說(shuō),使用“&”運(yùn)算符時(shí),參與連接的兩個(gè)表達(dá)式可以72subshowMessage dimintNum,strResultintNum=99 strResult="66"&intNum
msgBox("strResult的結(jié)果值為:"&strResult)endsubcallshowMessage</script></body></html>程序運(yùn)行如圖3.2所示。subshowMessage 程序運(yùn)行如圖3.2所示。73使用“+”運(yùn)算符時(shí),如果連接的兩個(gè)操作數(shù)中一個(gè)是非數(shù)字字符串,另一個(gè)是數(shù)字,則會(huì)出錯(cuò)。例如,如下的代碼會(huì)產(chǎn)生錯(cuò)誤:<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%><%="序號(hào)是"+99%>程序運(yùn)行,提示錯(cuò)誤如圖3.3所示。使用“+”運(yùn)算符時(shí),如果連接的兩個(gè)操作數(shù)中一個(gè)是非數(shù)字74圖3.3連接運(yùn)算符“+”錯(cuò)誤程序示例圖3.3連接運(yùn)算符“+”錯(cuò)誤程序示例75
4.邏輯運(yùn)算符邏輯運(yùn)算也稱(chēng)為布爾運(yùn)算。VBScript中的邏輯運(yùn)算包含六種,如表3.5所示。表3.5VBScript的邏輯運(yùn)算符4.邏輯運(yùn)算符763.2.2VBScript的變量與常量1.常量在VBScript中,常量可以分為兩種,分別為文字常量和字符常量。文字常量通常又可以稱(chēng)為字面量,也就是數(shù)據(jù)本身。符號(hào)常量才是在這個(gè)章節(jié)中要談?wù)摰?,它允許實(shí)現(xiàn)指定一個(gè)符號(hào)來(lái)代替某些數(shù)字或字符串。在沒(méi)有特別說(shuō)明的情況下,常量就是指符號(hào)常量。要使用常量之前,必須先創(chuàng)建它。創(chuàng)建一個(gè)常量可以使用Const語(yǔ)句,在使用Const語(yǔ)句創(chuàng)建常量的同時(shí),要為這個(gè)常量賦予一個(gè)具有含義的文字常量。例如:ConstCon_name="zeus"3.2.2VBScript的變量與常量77那么,在包含了這條語(yǔ)句的VBScript塊中,只要使用Con_name就表示引用了“zeus”。請(qǐng)注意zeus包含在兩個(gè)引號(hào)之間。這表示zeus是一個(gè)字符串。這是字符串型常量和數(shù)值型常量在表達(dá)上的區(qū)別。如果是要?jiǎng)?chuàng)建一個(gè)數(shù)值型常量,那么就要如下這樣寫(xiě):ConstCon_age=23而日期文字和時(shí)間文字就必須包含在兩個(gè)井號(hào)(#)之間。例如:ConstCon_date=#23-3-2005#那么,在包含了這條語(yǔ)句的VBScript塊中,只要使用Con782.變量聲明一個(gè)變量,就可以在內(nèi)存中開(kāi)辟一個(gè)存儲(chǔ)空間。這個(gè)存儲(chǔ)空間的地址可以通過(guò)這個(gè)變量的變量名來(lái)引用,這樣就能夠通過(guò)變量名來(lái)訪(fǎng)問(wèn)內(nèi)存中的數(shù)據(jù),并且在VBScript塊運(yùn)行的過(guò)程中,能夠?qū)@塊內(nèi)存空間中的數(shù)據(jù)進(jìn)行修改。聲明變量的一種方式是使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句在Script中聲明變量。例如:DimMage當(dāng)要聲明多個(gè)變量的時(shí),可以使用逗號(hào)來(lái)分隔變量,例如:DimMage1,Mage2,Mage32.變量79這種使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句來(lái)聲明變量的方法,稱(chēng)之為顯式聲明。另外一種方法,可以不聲明而直接使用,當(dāng)這個(gè)變量被第一次使用的時(shí)候,同時(shí)也默認(rèn)的進(jìn)行了聲明,這種聲明方式被稱(chēng)為隱式聲明
OptionExplicit就可以強(qiáng)制要求在這個(gè)VBScript塊中必須使用顯式聲明來(lái)聲明變量。當(dāng)在聲明一個(gè)變量的時(shí)候,變量名并不是能夠隨便命名的。必須遵循VBScript的標(biāo)準(zhǔn)命名規(guī)則,變量命名必須遵循:第一個(gè)字符必須是字母不能包含嵌入的句點(diǎn)長(zhǎng)度不能超過(guò)255個(gè)字符在被聲明的作用域內(nèi)必須唯一不能把VBScript的保留字(關(guān)鍵字)作為變量名,但這種使用Dim語(yǔ)句、Public語(yǔ)句和Private80可以嵌入到變量名中VBScript不區(qū)分變量名中的大小寫(xiě),“HELLO”和“hello”作為變量名是指同一個(gè)變量。聲明了變量后,就需要為變量賦值,賦值是通過(guò)賦值運(yùn)算符(=)來(lái)實(shí)現(xiàn)的,變量名放在賦值表達(dá)式的左邊,值放在賦值表達(dá)式的右邊。例如:Mage=23Mage=“男”第一條語(yǔ)句把數(shù)值23賦值給變量Mage,這個(gè)時(shí)候變量Mage以Integer類(lèi)型存儲(chǔ)。第二條語(yǔ)句再字符串“男”賦值給Mage,這個(gè)時(shí)候變量Mage的值就為“男”,并以String類(lèi)型存儲(chǔ)??梢郧度氲阶兞棵新暶髁俗兞亢螅托枰獮樽兞抠x值,賦值是通過(guò)81
3.2.3數(shù)組所謂數(shù)組就是指具有相同數(shù)據(jù)類(lèi)型的變量集合。在這集合里的變量擁有共同的名字,每個(gè)特定元素都使用名字加下標(biāo)來(lái)訪(fǎng)問(wèn)。數(shù)組也應(yīng)該是屬于變量的一種,但是這種變量是可以構(gòu)造,所以,通常把在前一節(jié)介紹的變量稱(chēng)為標(biāo)量變量,而把數(shù)組稱(chēng)為數(shù)組變量。數(shù)組變量的聲明和標(biāo)量變量聲明的關(guān)鍵字是相同的,都是使用Dim語(yǔ)句、Public語(yǔ)句和Private語(yǔ)句來(lái)進(jìn)行聲明,不同的是,因?yàn)閿?shù)組是一個(gè)用下標(biāo)來(lái)區(qū)別的變量集合,所以在創(chuàng)建的時(shí)候要在變量名后面多加個(gè)(),用于在其中指定這個(gè)變量集合最高的下標(biāo)數(shù)值。3.2.3數(shù)組82<html><head><scriptlanguage="vbscript"> dima() dimb() dimstr redima(2):redimb(2)//在一行中書(shū)寫(xiě)多條語(yǔ)句,可以使用“:”進(jìn)行分隔 聲明數(shù)組的方式為:
Dim[Public|Private]數(shù)組名(下標(biāo))<html>聲明數(shù)組的方式為:
Dim[Public|Pr83幾種循環(huán)比較
a(0)=1:a(1)=1:b(0)=2:b(1)=2 redima(1)//不加Preserve關(guān)鍵字改變a數(shù)組大小 redimpreserveb(1)//加Preserve關(guān)鍵字改變b數(shù)組大小 msgboxa(0) msgboxb(0)</script></head><body></body></html>幾種循環(huán)比較a(0)=1:a(1)=1:b(0)=2:84因?yàn)槌绦蛑邪瑑蓚€(gè)msgbox函數(shù),所以會(huì)出現(xiàn)兩次對(duì)話(huà)框,分別如下圖3.5所示。圖3.5用msgbox輸出a(0)和b(0)因?yàn)槌绦蛑邪瑑蓚€(gè)msgbox函數(shù),所以會(huì)出現(xiàn)兩次對(duì)85圖3.2.1是語(yǔ)句msgboxa(0)的結(jié)果,彈出的對(duì)話(huà)框上提示信息為空,表示a(0)為空。這是因?yàn)樵诟淖僡數(shù)組大小的時(shí)候沒(méi)加Preserve關(guān)鍵字,元素?cái)?shù)據(jù)丟失。而圖3.2.2是語(yǔ)句msgboxb(0)的結(jié)果,提示信息為2,正好等于b(2)的值。圖3.2.1是語(yǔ)句msgboxa(0)的結(jié)果,彈出的對(duì)話(huà)框863.3VBScript的控制結(jié)構(gòu)
3.3.1條件語(yǔ)句條件結(jié)構(gòu)也可以稱(chēng)為選擇結(jié)構(gòu),它的作用是,根據(jù)所指定的條件是否滿(mǎn)足,決定從給定的兩組操作中選擇其中的一個(gè)進(jìn)行執(zhí)行。用于構(gòu)成條件結(jié)構(gòu)的語(yǔ)句就是條件語(yǔ)句。在VBScript中,條件結(jié)構(gòu)可以用IF語(yǔ)句來(lái)實(shí)現(xiàn)。3.3VBScript的控制結(jié)構(gòu)
3.3.1條件語(yǔ)句87IF語(yǔ)句常用的形式是:IF判斷表達(dá)式THEN語(yǔ)句體1ELSE語(yǔ)句體2ENDIF在IF語(yǔ)句中,ELSE子句并不是必須的。如果只需要定義判斷條件滿(mǎn)足時(shí)候的操作而不需要關(guān)心條件不滿(mǎn)足的情況,可以省略。則條件語(yǔ)句變?yōu)椋篒F判斷表達(dá)式THEN語(yǔ)句體1ENDIFIF語(yǔ)句常用的形式是:88即是添加ELSEIF子句來(lái)擴(kuò)展IF語(yǔ)句。變形后的語(yǔ)句形式如下:IF判斷表達(dá)式1THEN語(yǔ)句體1ELSEIF判斷表達(dá)式2THEN語(yǔ)句體2ELSEIF判斷表達(dá)式3THEN語(yǔ)句體3…ELSEIF判斷表達(dá)式NTHEN語(yǔ)句體NELSE語(yǔ)句體N+1ENDIF即是添加ELSEIF子句來(lái)擴(kuò)展IF語(yǔ)句。變形后的語(yǔ)句形式如下893.4.1過(guò)程簡(jiǎn)單的說(shuō),過(guò)程就是一組用于實(shí)現(xiàn)一個(gè)特定功能的語(yǔ)句的集合。定義過(guò)程的形式如下:SUB過(guò)程名(參數(shù)列表)語(yǔ)句體ENDSUB下面是一個(gè)過(guò)程,其中只有一條語(yǔ)句,用于輸出:suboutp()msgbox“一個(gè)過(guò)程”endsub3.4VBScript的過(guò)程與函數(shù)3.4.1過(guò)程3.4VBScript的過(guò)程與函數(shù)903.4.2函數(shù)Function函數(shù)名(參數(shù)列表)語(yǔ)句體函數(shù)名=值ENDFunction函數(shù)和過(guò)程一樣,也是一組用于實(shí)現(xiàn)一個(gè)特定功能的語(yǔ)句的集合下面是一個(gè)函數(shù),用于比較兩個(gè)數(shù)的大小,并把兩個(gè)數(shù)字的正數(shù)差(總是大減?。┳鳛楹瘮?shù)返回值:Functionconv(a,b)dimtempifa>bthentemp=a-b3.4.2函數(shù)91Elsetemp=b-aendifconv=tempendFunctionElsetemp=b-a923.4.3過(guò)程與函數(shù)的調(diào)用調(diào)用它的語(yǔ)法的如下:outp()或calloutp()如果是一個(gè)有返回值的函數(shù),可以把函數(shù)放到賦值號(hào)的右邊。例如:turnum=conv(num(0),num(1)) 3.4.3過(guò)程與函數(shù)的調(diào)用93<html><head><scriptlanguage="vbscript">Dimnum(1)num(0)=23//設(shè)定自己年齡為23num(1)=inputbox("pleaseinputyourage:")//用戶(hù)輸入年齡num(1)=cint(num(1))//把用戶(hù)年齡轉(zhuǎn)換為整形數(shù)據(jù)Functionconv(a,b)dimtempifa>bthentemp=a-belsetemp=b-aendifconv=tempendFunctionsuboutp()dimturnum<html>94turnum=conv(num(0),num(1))//調(diào)用函數(shù)msgbox"年齡相差:"&turnum&"歲"endsuboutp()/調(diào)用過(guò)程</script></head><body></body></html>turnum=conv(num(0),num(1))953.5VBScript的常用函數(shù)
3.5.1MsgBox函數(shù)
MsgBox函數(shù)用于彈出一個(gè)帶有提示消息和按鈕的對(duì)話(huà)框,在把消息提示給瀏覽者后,也會(huì)返回瀏覽者單擊按鈕的編碼值。MsgBox函數(shù)完整形式描述如下:MsgBox提示消息,按鈕,標(biāo)題,幫助文件,幫助文件上下文編號(hào)其中,后兩個(gè)屬性應(yīng)用較少,就不做介紹了。其他屬性的說(shuō)明如下:3.5VBScript的常用函數(shù)
3.5.1MsgB96提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,最大長(zhǎng)度可以有1024個(gè)字符。如果需要包含多個(gè)行,可以使用回車(chē)符(Chr(13))、換行符(Chr(10))或回車(chē)換行符的組合(Chr(13)&Chr(10))分隔各行。按鈕:用來(lái)指定顯示按鈕的數(shù)量和類(lèi)型,設(shè)置的值與對(duì)應(yīng)的描述見(jiàn)表3.6。當(dāng)對(duì)話(huà)框需要同時(shí)具有多個(gè)描述的特征的時(shí)候,可以把對(duì)應(yīng)的值進(jìn)行相加運(yùn)算,例如我需要“顯示放棄、重試和忽略按鈕”并且“顯示臨界信息圖標(biāo)”,則數(shù)值應(yīng)該設(shè)置為18(2+16);提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,最大長(zhǎng)度可以有197asp程序設(shè)計(jì)第3講課件983.5.2InputBox函數(shù)InputBox函數(shù)用于彈出一個(gè)帶有提示消息和文本框的對(duì)話(huà)框,用于提示用戶(hù)和返回用戶(hù)輸入到文本框中的信息。InputBox函數(shù)完整形式描述如下:InputBox提示消息,標(biāo)題,文本框默認(rèn)字符串,水平位置,垂直位置,幫助文件,幫助文件上下文編號(hào)屬性說(shuō)明如下:3.5.2InputBox函數(shù)99提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,具體說(shuō)明可以參照MsgBox函數(shù)的提示消息說(shuō)明;標(biāo)題:設(shè)置對(duì)話(huà)框標(biāo)題欄顯示的字符串;文本框默認(rèn)字符串:顯示在文本框中的字符串,如果省略,顯示為空;水平位置:用于指定對(duì)話(huà)框的左邊緣與屏幕左邊緣的水平距離,如果為空,則水平居中;垂直位置:用于指定對(duì)話(huà)框的左邊緣與屏幕上邊緣的垂直距離,如果為空,則垂直居中;和MsgBox函數(shù)一樣,除了第一個(gè)屬性是必須的外,其他屬性都是可選屬性。提示消息:用于設(shè)置在對(duì)話(huà)框上顯示的提示消息,具體說(shuō)明可以參照1003.5.3數(shù)學(xué)函數(shù)
VBScript函數(shù)支持多種數(shù)學(xué)函數(shù),使用這些函數(shù),可以輕松的解決程序開(kāi)發(fā)過(guò)程中的數(shù)學(xué)運(yùn)算問(wèn)題?,F(xiàn)將一些常用的數(shù)學(xué)函數(shù)列表如表3.7,以備大家學(xué)習(xí)和參考。3.5.3數(shù)學(xué)函數(shù)
VBScript函數(shù)支持多種數(shù)學(xué)函數(shù)1013.5.4字符串函數(shù)
同樣,在VBScript中也提供了豐富的字符串函數(shù)用于對(duì)字符串進(jìn)行處理,函數(shù)列表如表3.8所示。
表3.8常用字符串函數(shù)3.5.4字符串函數(shù)
同樣,在VBScrip1023.5.5日期和時(shí)間函數(shù)
VBScript的日期和時(shí)間函數(shù)如表3.9所示。
表3.9常用日期和時(shí)間函數(shù)3.5.5日期和時(shí)間函數(shù)
VBScript的日期和時(shí)間函1033.5.6數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)
VBScript的數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)如表3.10所示。
表3.10常用數(shù)據(jù)類(lèi)型轉(zhuǎn)換函數(shù)3.5.6數(shù)據(jù)類(lèi)型轉(zhuǎn)1043.5.7數(shù)據(jù)類(lèi)型判別函數(shù)
VBScript的數(shù)據(jù)類(lèi)型判斷函數(shù)如表3.11所示。
表3.11常用數(shù)據(jù)類(lèi)型判別函數(shù)3.5.7數(shù)據(jù)類(lèi)型判105輸入一個(gè)日期,然后判斷出這個(gè)日期是星期幾,并把這個(gè)結(jié)果輸出。(提示:使用weekday(日期)函數(shù)可以返回星期編碼,禮拜天返回1,禮拜一返回2,…禮拜六返回7),程序如下:<html><head><scriptlanguage="vbscript">dimdat,wnumdat=inputbox("輸入時(shí)間"&Chr(13)&"格式為:")wnum=weekday(dat)selectcasewnum3.6技能與實(shí)訓(xùn)輸入一個(gè)日期,然后判斷出這個(gè)日期是星期幾,并把這個(gè)結(jié)果輸出。106case1msgbox"禮拜天"case2msgbox"禮拜一"case3msgbox"禮拜二"case4msgbox"禮拜三"case5msgbox"禮拜四"case6msgbox"禮拜五"case7msgbox"禮拜六"endsele
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小數(shù)除以整數(shù)同步作業(yè)題帶答案
- 三年級(jí)數(shù)學(xué)萬(wàn)以?xún)?nèi)加減混合兩步運(yùn)算題質(zhì)量作業(yè)試題帶答案
- 離婚協(xié)議轉(zhuǎn)化為合同:子女權(quán)益保護(hù)模板
- 勞動(dòng)市場(chǎng)合同趨勢(shì)分析
- 會(huì)議場(chǎng)地租賃合同樣本:適用版
- 室內(nèi)環(huán)境污染防控合同(適用于裝飾材料銷(xiāo)售)
- 出口融資合同范本大全
- 企業(yè)合同糾紛預(yù)防與解決
- 重慶市商業(yè)租賃合同
- 廣告投放合同示范文本
- 中國(guó)氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場(chǎng)運(yùn)行格局及前景研究報(bào)告-智研咨詢(xún)(2024版)
- 《自然保護(hù)區(qū)劃分》課件
- 2025年普通卷釘項(xiàng)目可行性研究報(bào)告
- 2024年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年參考題庫(kù)含答案解析
- 上海鐵路局招聘筆試沖刺題2025
- 2025年建筑施工春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專(zhuān)項(xiàng)方案
- 學(xué)校食堂餐廳管理者食堂安全考試題附答案
- 《商用車(chē)預(yù)見(jiàn)性巡航系統(tǒng)技術(shù)規(guī)范》
- 國(guó)旗班指揮刀訓(xùn)練動(dòng)作要領(lǐng)
- 春季安全開(kāi)學(xué)第一課
- 植物芳香油的提取 植物有效成分的提取教學(xué)課件
評(píng)論
0/150
提交評(píng)論