《動態(tài)網(wǎng)站建設(shè)》第3章VBScript腳本語言基礎(chǔ)課件_第1頁
《動態(tài)網(wǎng)站建設(shè)》第3章VBScript腳本語言基礎(chǔ)課件_第2頁
《動態(tài)網(wǎng)站建設(shè)》第3章VBScript腳本語言基礎(chǔ)課件_第3頁
《動態(tài)網(wǎng)站建設(shè)》第3章VBScript腳本語言基礎(chǔ)課件_第4頁
《動態(tài)網(wǎng)站建設(shè)》第3章VBScript腳本語言基礎(chǔ)課件_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章VBScript腳本語言基礎(chǔ)第3章VBScript腳本語言基礎(chǔ)13.1腳本語言概述3.1.1腳本語言3.1.2定義網(wǎng)頁中的腳本類型3.1腳本語言概述3.1.1腳本語言2腳本語言腳本是在高級程序語言基礎(chǔ)上發(fā)展起來的解釋型動態(tài)網(wǎng)頁技術(shù)。腳本起源于編程語言,但又不同于編程語言。兩者間的本質(zhì)區(qū)別是:一般編程語言的代碼是一次性翻譯成機器代碼,執(zhí)行時就不需要其編譯環(huán)境了;腳本是由專門的腳本引擎來解釋執(zhí)行的,執(zhí)行時逐條語句翻譯,不能脫離其執(zhí)行引擎來執(zhí)行。腳本語言概述腳本語言腳本是在高級程序語言基礎(chǔ)上發(fā)展起來的解釋型動態(tài)網(wǎng)頁技3腳本語言腳本按執(zhí)行方式和位置的不同,分為客戶機端腳本和服務(wù)器端腳本兩類。靜態(tài)網(wǎng)頁只能包含客戶機腳本,ASP動態(tài)網(wǎng)頁則可以包含客戶機腳本和服務(wù)器腳本兩種類型。JavaScript更多地用于客戶端。腳本語言概述腳本語言腳本按執(zhí)行方式和位置的不同,分為客戶機端腳本和服務(wù)器4VBScript與JavaScript的比較

比較內(nèi)容VBScriptJavaScript可否編寫客戶機腳本可以可以可否編寫服務(wù)器腳本可以可以用途主要用于編寫服務(wù)器腳本主要用于編寫客戶機腳本平臺要求服務(wù)器腳本必須運行于IIS;客戶機腳本必須運行于IE(其他瀏覽器可能不支持)需要檢查服務(wù)器平臺是否支持服務(wù)器腳本;幾乎所有的瀏覽器都支持JavaScript的客戶機腳本是否區(qū)分大小寫不區(qū)分區(qū)分腳本語言概述VBScript與JavaScript的比較比較內(nèi)容5顯式定義網(wǎng)頁客戶機腳本

1.可以通過<script>和</script>標記來定義網(wǎng)頁的客戶機腳本類型為VBScript。<scriptLanguage="VBScript"type="text/VBScript">……</script>腳本語言概述案例3-1按鈕單擊響應(效果)案例3-1按鈕單擊響應(代碼)顯式定義網(wǎng)頁客戶機腳本1.可以通過<script>和</6顯式定義網(wǎng)頁客戶機腳本

說明:VBScript代碼應寫在<scriptlanguage=“VBScript”>標記和</script>標記之間。在一個網(wǎng)頁文件中,可以添加多處VBScript腳本代碼??梢园涯_本代碼定義成一個過程或函數(shù),只有當這段代碼被調(diào)用時才會被執(zhí)行??梢园讯鄺lVBScript腳本語句放在同一行,并用冒號“:”隔開;或?qū)⒁粭l語句分兩行或多行書寫,行尾加一個續(xù)行符“_”。腳本語言概述顯式定義網(wǎng)頁客戶機腳本說明:腳本語言概述7顯式定義網(wǎng)頁客戶機腳本

2.將ASP網(wǎng)頁的服務(wù)器腳本類型定義為VBScript的方法有兩種。一是可以用<%%>標記來定義,命令格式為:<%@LANGUAGE="VBSCRIPT"%><%……%>腳本語言概述案例3-2提交表單(代碼)顯式定義網(wǎng)頁客戶機腳本2.將ASP網(wǎng)頁的服務(wù)器腳本類型定8顯式定義網(wǎng)頁客戶機腳本說明:<%@%>這樣格式的代碼稱為ASP處理指令,必須放在網(wǎng)頁文件的第一行。<%%>是ASP服務(wù)器腳本的定界符,在服務(wù)器端執(zhí)行的腳本程序要放在這對符號里面。用<%%>定界的服務(wù)器端腳本可以根據(jù)需要放在網(wǎng)頁文件的任何位置,腳本代碼運行生成HTML標記在瀏覽器端顯示。包含服務(wù)器端腳本的網(wǎng)頁文件擴展名為“.asp”。腳本語言概述顯式定義網(wǎng)頁客戶機腳本說明:腳本語言概述9顯式定義網(wǎng)頁客戶機腳本

二是可以用<script>和</script>標記來定義服務(wù)器腳本類型為VBScript,增加參數(shù)runat并令其值為server,命令格式為:<scriptlanguage="vbscript"runat="server">……</script>腳本語言概述案例3-2提交表單2(代碼)顯式定義網(wǎng)頁客戶機腳本二是可以用<script>和<10顯式定義網(wǎng)頁客戶機腳本

<html><head><title>3-2-2.asp</title></head><body><scriptlanguage="vbscript"runat="server"type="text/vbscript">a=request.Form("name")response.write"<fontcolor=redsize=7>"response.writea&",你好呀</font>"</script></body></html>

腳本語言概述顯式定義網(wǎng)頁客戶機腳本<html>腳本語言概述113.2VBScript編程基礎(chǔ)3.2.1VBScript的輸入和輸出3.2.2VBScript的數(shù)據(jù)類型3.2.3VBScript的常量3.2.5VBScript的數(shù)組變量3.2.6VBScript的運算符和表達式3.2VBScript編程基礎(chǔ)3.2.1VBScrip12VBScript的輸入和輸出

VBScript提供了3種從外界獲取數(shù)據(jù)和輸出數(shù)據(jù)的方式:①在客戶端腳本中使用輸入函數(shù)Inputbox()和輸出函數(shù)Msgbox();②在客戶端使用瀏覽器對象獲得數(shù)據(jù)或輸出數(shù)據(jù);③在服務(wù)器端腳本中使用Request、Response等內(nèi)置對象來獲得數(shù)據(jù)或輸出數(shù)據(jù)。VBScript編程基礎(chǔ)VBScript的輸入和輸出VBScript提供了3種13VBScript的輸入和輸出

InputBox函數(shù)的功能是在對話框中顯示提示,等待用戶輸人文本或單擊按鈕,并返回文本框內(nèi)容。這個函數(shù)的基本格式如下:InputBox(提示[,標題][,缺省輸入][,X坐標][,Y坐標])VBScript編程基礎(chǔ)VBScript的輸入和輸出InputBox函數(shù)的功能14VBScript的輸入和輸出MsgBox函數(shù)的功能是彈出對話框并在對話框中顯示消息,等待用戶單擊按鈕后返回一個值指示用戶單擊的按鈕。這個函數(shù)的主要格式如下:MsgBox(提示[,按鈕組合值][,標題])VBScript編程基礎(chǔ)VBScript的輸入和輸出MsgBox函數(shù)的功能是彈15VBScript的輸入和輸出<scriptlanguage="vbscript"type="text/vbscript">dims1,s2,ss,anss1=Inputbox("請輸入第一個字符串:","Inputbox函數(shù)舉例","字符串連接")s2=Inputbox("請輸入第二個字符串:","Inputbox函數(shù)舉例")ans=Msgbox("可以連接了嗎?",33)ifans=1thenss=s1+s2Msgbox"兩個字符串連接的結(jié)果是:"&vbCrLf_&ss,64,"Msgbox函數(shù)舉例"endif</script>VBScript編程基礎(chǔ)案例3-3輸入/輸出函數(shù)示例(效果)VBScript的輸入和輸出<scriptlanguage16VBScript的數(shù)據(jù)類型VBScript只有一種數(shù)據(jù)類型,即Variant(變體)類型。根據(jù)使用的方式,它可以包含不同類別的信息。Variant可以包含簡單的數(shù)字、字符串和布爾型信息,也可以包含復雜的日期型、浮點型和對象型信息。Variant包含的數(shù)值信息類型稱為子類型。數(shù)據(jù)在各個子類型之間是可以相互轉(zhuǎn)換的。VBScript編程基礎(chǔ)VBScript的數(shù)據(jù)類型VBScript只有一種數(shù)據(jù)類型,17VBScript的常量常量有兩種,一種是具體直觀的數(shù)據(jù),如5,“abc”,#6-1-2008#等;另一種叫做符號常量,即用具有一定含義的名稱符號來代替具體直觀的數(shù)據(jù)。Constmystring="你好嗎?"Constpi=3.1415926Consttoday=#2008-2-7#VBScript編程基礎(chǔ)VBScript的常量常量有兩種,一種是具體直觀的數(shù)據(jù)18VBScript的常量VBScript還定義了許多保留常量,這些常量是不能被用來定義的。VBScript編程基礎(chǔ)常量值含義True布爾真值False布爾假值Null空值,可用來指示變量不包含有效數(shù)據(jù)Empty沒有初始化的變量值vbCr回車vbCrLf回車/換行vbTab制表符VBScript的常量VBScript還定義了許多保留19VBScript的變量VBScript變量的命名應遵循一定的規(guī)則(也是常量命名應遵循的規(guī)則):變量名可以由字母、數(shù)字、下劃線組成;第一個字符必須是字母;長度不能超過255個字符;不能用保留的關(guān)鍵字命名;在被聲明的作用域內(nèi)必須唯一。VBScript編程基礎(chǔ)案例3-4變量(效果)VBScript的變量VBScript變量的命名應遵循20VBScript的變量變量可使用的范圍叫做變量的作用域。如果在過程中聲明變量,則只有該過程中的代碼可以訪問或更改變量值,此時變量具有局部作用域,稱為局部變量,或過程級變量。如果在過程之外聲明變量,則該變量可以被其后腳本中所有語句和過程所識別和使用,具有腳本級作用域,稱為腳本級變量。變量存在的時間稱為存活期。腳本級變量的存活期從被聲明時開始,直到腳本運行結(jié)束。過程級的局部變量存活期僅僅是該過程運行的時間,該過程結(jié)束后,變量也隨之消失。在執(zhí)行過程時,局部變量是理想的臨時存儲空間??梢栽诓煌^程中使用同名的局部變量,因為每個局部變量只被聲明它的過程所識別。VBScript編程基礎(chǔ)VBScript的變量變量可使用的范圍叫做變量的作用域。如果21VBScript的變量

VBScript中聲明變量的方法有:①用Dim聲明變量,語法格式為:Dim變量名1,變量名2,…②用private聲明變量,語法格式為:Private變量名1,變量名2,…③用Public聲明變量,語法格式為:Public變量名1,變量名2,…VBScript編程基礎(chǔ)VBScript的變量VBScript中聲明變量的方法22VBScript的變量這條語句規(guī)定了網(wǎng)頁中的變量必須顯式定義后才能使用。OptionExplicit編寫客戶端腳本時,該語句只在其所在的</script>標記和</script>標記之間有效,必須放在所有語句的前面。如果是編寫服務(wù)器端腳本,則該語句應放在緊隨<%@language=vbscript%>之后。它對網(wǎng)頁文件內(nèi)任意<%%>中的變量聲明都有約束作用。VBScript編程基礎(chǔ)VBScript的變量這條語句規(guī)定了網(wǎng)頁中的變量必須顯式定義23VBScript的數(shù)組變量數(shù)組下標是從0開始的。聲明數(shù)組時括號中的數(shù)字表明該數(shù)組可用的最大下標。數(shù)組中數(shù)據(jù)是Variant類型,所以同一數(shù)組中的不同元素可以是不同子類型的數(shù)據(jù)。在腳本運行時大小發(fā)生變化的數(shù)組,是動態(tài)數(shù)組。在使用之前必須先用Redim語句確定數(shù)組的大小。重新調(diào)整動態(tài)數(shù)組的大小時,如果使用關(guān)鍵字Preserve,將保留相應數(shù)組元素原來的內(nèi)容。VBScript編程基礎(chǔ)案例3-5數(shù)組變量(效果)VBScript的數(shù)組變量數(shù)組下標是從0開始的。聲明數(shù)組時括24VBScript的運算符和表達式VBScript編程基礎(chǔ)運算符含義示例結(jié)果運算符含義示例結(jié)果+加3+47\整除求商5\31-減3-4-1^乘方3^481*乘3*412MOD取余數(shù)5MOD32/除3/40.75算術(shù)運算符:VBScript的運算符和表達式VBScript編程基25VBScript的運算符和表達式VBScript編程基礎(chǔ)關(guān)系運算符:運算符含義示例=等于66=88的結(jié)果為False<>不等于66<>88的結(jié)果為True<小于66<88的結(jié)果為True>大于66>88的結(jié)果為False<=小于等于66<=88的結(jié)果為True>=大于等于66>=88的結(jié)果為FalseVBScript的運算符和表達式VBScript編程基26VBScript的運算符和表達式VBScript編程基礎(chǔ)邏輯運算符:運算符第一個值第二個值示例結(jié)果與運算ANDTrueTrue3>2AND5>4TrueTrueFalse3>2AND5<4FalseFalseTrue3<2AND5>4FalseFalseFalse3<2AND5<4False或運算ORTrueTrue3>2OR5>4TrueTrueFalse3>2OR5<4TrueFalseTrue3<2OR5>4TrueFalseFalse3<2OR5<4False非運算NOTTrue-NOT3>2FalseFalse-NOT3<2TrueVBScript的運算符和表達式VBScript編程基27VBScript的運算符和表達式連接運算符:VBScript中的連接運算符“&”可以用于兩個任意類型的數(shù)據(jù)連接?!?”號除了作為加法運算符之外,也可以做連接符,只是它所連接的必須是兩個字符串。VBScript編程基礎(chǔ)VBScript的運算符和表達式連接運算符:VBScri28VBScript的運算符和表達式運算符的優(yōu)先級:運算時總是先執(zhí)行括號中的運算符在執(zhí)行括號外的運算符;當表達式包含多種運算符時,執(zhí)行次序為算術(shù)運算符->連接運算符->比較運算符->邏輯運算符;各數(shù)學運算符的優(yōu)先級與數(shù)學中的規(guī)定一致;所有的關(guān)系運算符優(yōu)先級別相同,按從左至右的順序執(zhí)行。VBScript編程基礎(chǔ)VBScript的運算符和表達式運算符的優(yōu)先級:VBScri293.3VBScript的基本語句3.3.1分支語句3.3.2循環(huán)語句3.3.3VBScript的過程和函數(shù)3.3.4注釋語句3.3.5容錯語句3.3VBScript的基本語句3.3.1分支語句30分支語句1.If…Then語句①單一分支:If條件Then語句組EndIf當Then后面只有一條語句時,這種格式可簡寫為:If條件Then語句VBScript基本語句分支語句1.If…Then語句VBScript基本31分支語句<scriptlanguage="vbscript">a=inputbox("shuru")’用戶輸入一個成績ifa<60then’判斷如果該成績小于60msgbox"nopass"’條件成立,輸出“不及格”endif’條件語句結(jié)束</script>VBScript基本語句案例3-6成績判定(效果)分支語句<scriptlanguage="vbscript32分支語句②兩重分支If條件Then語句組1Else語句組2EndIfVBScript基本語句分支語句②兩重分支VBScript基本語句33分支語句<scriptlanguage="vbscript">a=inputbox("請輸入你的成績")’用戶輸入一個成績ifa<60then’判斷如果該成績小于60Msgbox"遺憾啊,不及格"’條件成立,輸出“不及格”else’否則Msgbox“及格了,繼續(xù)努力”’條件不成立,輸出“及格”endif</script>VBScript基本語句案例3-6成績判定2(效果)分支語句<scriptlanguage="vbscript34分支語句③多重分支If條件1Then語句組1Elseif條件2Then語句組2Elseif條件3Then語句組3……Else語句組n+1EndIfVBScript基本語句分支語句③多重分支VBScript基本語句35分支語句a=inputbox("請輸入你的成績")’用戶輸入一個成績ifa<60then’判斷如果該成績小于60grade="E"’條件成立,等級為Eelseifa<70thengrade="D"elseifa<80thengrade="C"elseifa<70thengrade="B"elsegrade="A"endifmsgbox"你的成績等級為:"&gradeVBScript基本語句案例3-7成績等級(效果)分支語句a=inputbox("請輸入你的成績")’用戶36分支語句2.SelectCase語句SelectCase表達式Case值1語句組1Case值2語句組2Case值3語句組3……CaseElse語句組n+1EndSelectVBScript基本語句分支語句2.SelectCase語句VBScript基37分支語句t=int(a/10)’成績除以10取整SelectCasetCase9,10’90多分或100分為A等grade="A"Case8grade="B"Case7grade="C"Case6grade="D"Caseelsegrade="E"EndSelectVBScript基本語句案例3-7成績判定2(效果)分支語句t=int(a/10)’成績除以138循環(huán)語句在VBScript中,循環(huán)語句可分為三類:一類是條件式循環(huán),另一類是指定循環(huán)次數(shù)的循環(huán),還有一種是針對數(shù)組和集合操作的循環(huán)。具體的語句格式有以下幾種:①DoWhile…Loop:當條件為True時執(zhí)行循環(huán)。②DoUntil…Loop:當條件為True時結(jié)束循環(huán)。③Do…LoopWhile:先執(zhí)行循環(huán),再進行條件判斷。④Do…LoopUntil:先執(zhí)行循環(huán),再進行條件判斷。⑤While…Wend:如果條件為True則執(zhí)行循環(huán)。⑥For…Next:指定循環(huán)次數(shù)的循環(huán)。⑦ForEachIn…Next:對于集合或數(shù)組中每個元素重復執(zhí)行某操作的循環(huán)。VBScript基本語句循環(huán)語句在VBScript中,循環(huán)語句可分為三類:一類是條件39循環(huán)語句1.條件式循環(huán)<scriptlanguage="vbscript"type="text/vbscript"><!--ans=Inputbox("請輸入“快樂”的英文")dowhileUcase(ans)<>"HAPPY"msg="不正確"&vbcrlf&"請重新輸入“快樂”的英文"ans=Inputbox(msg)loopMsgbox"真棒!你答對了!"--></script>

VBScript基本語句案例3-8英文單詞小測驗(效果)循環(huán)語句1.條件式循環(huán)VBScript基本語句案例40循環(huán)語句用While…Wend改寫:<scriptlanguage="vbscript"type="text/vbscript"><!--ans=Inputbox("請輸入“快樂”的英文")WhileUcase(ans)<>"HAPPY"msg="不正確"&vbcrlf&"請重新輸入“快樂”的英文"ans=Inputbox(msg)WendMsgbox"真棒!你答對了!"--></script>VBScript基本語句循環(huán)語句用While…Wend改寫:VBScript基本41循環(huán)語句用DoUntil…Loop改寫:<scriptlanguage="vbscript"type="text/vbscript"><!--ans=Inputbox("請輸入“快樂”的英文")DoUntilUcase(ans)="HAPPY"msg="不正確"&vbcrlf&"請重新輸入“快樂”的英文"ans=Inputbox(msg)LoopMsgbox"真棒!你答對了!"--></script>

VBScript基本語句循環(huán)語句用DoUntil…Loop改寫:VBScrip42循環(huán)語句

以上三種格式都是先判斷再循環(huán),循環(huán)體可能被執(zhí)行一次或多次,也可能一次也不執(zhí)行。不同的是DoWhile和While-Wend是當條件為“真”時執(zhí)行循環(huán),DoUntil是當條件為“假”時執(zhí)行循環(huán)而當條件為“真”時結(jié)束循環(huán)。

VBScript基本語句循環(huán)語句以上三種格式都是先判斷再循環(huán),循環(huán)體可能被執(zhí)行43循環(huán)語句info="請輸入一個數(shù)字"doans=inputbox(info)ifans=""thenmsgbox"不猜了,結(jié)束吧"exitdoelseifans>666thenmsgbox"你輸入的數(shù)太大了"elseifans<666thenmsgbox"你輸入的數(shù)太小了"endifinfo="朋友,你還沒有猜對!"&vbcrlf&"請重新輸入一個數(shù)字"loopwhileans<>666ifans<>""thenmsgbox"恭喜你猜對了!!!"endifVBScript基本語句案例3-9猜數(shù)字游戲(效果)循環(huán)語句info="請輸入一個數(shù)字"VBScript基本44循環(huán)語句用do…loopuntil改寫:doans=inputbox(info)ifans=""thenmsgbox"不猜了,結(jié)束吧"exitdoelseifans>666thenmsgbox"你輸入的數(shù)太大了"elseifans<666thenmsgbox"你輸入的數(shù)太小了"endifinfo="朋友,你還沒有猜對!"&vbcrlf&"請重新輸入一個數(shù)字"loopuntilans=666VBScript基本語句循環(huán)語句用do…loopuntil改寫:VBScript45循環(huán)語句以上兩種循環(huán)形式,在開始循環(huán)時會首先執(zhí)行一次循環(huán)體,然后再進行條件判斷。循環(huán)體至少要被執(zhí)行一次。不同的是do…loopwhile語句在條件為真時執(zhí)行循環(huán),do…loopuntil在條件為真時結(jié)束循環(huán)。條件循環(huán)根據(jù)條件判斷的結(jié)果決定是否執(zhí)行循環(huán)體,而不考慮循環(huán)的次數(shù)。它在不能確定具體循環(huán)次數(shù)的時候是很有用的,但要注意語句中循環(huán)條件的設(shè)定,要避免出現(xiàn)“死循環(huán)”。VBScript基本語句循環(huán)語句VBScript基本語句46循環(huán)語句2.計數(shù)循環(huán)For…Next在編程者可以確定循環(huán)的執(zhí)行次數(shù)且不需要測試條件時,可以使用For語句。

語句基本格式:For變量=初始值To終止值[step步長值]循環(huán)體Next當步長為負時,每次判斷要看變量的值是否大于等于終止值,若是則執(zhí)行循環(huán)體,否則結(jié)束循環(huán)。如果循環(huán)變量的初值小于終止值,循環(huán)體一次也不會執(zhí)行。VBScript基本語句循環(huán)語句2.計數(shù)循環(huán)For…NextVBScript47循環(huán)語句subb1_onclickdimi,s,n1,n2s=0n1=form1.num1.valuen2=form1.num2.valueifn1>n2thent=n1n1=n2n2=tendiffori=n1ton2s=s+inextmsgbox"s="&sendsubVBScript基本語句案例3-10簡單累加器

(效果)循環(huán)語句subb1_onclickVBScript基本48循環(huán)語句3.數(shù)組循環(huán)ForEachIn…NextForEach語句只適用于數(shù)組和集合的元素進行循環(huán)操作。該語句的具體格式如下:ForEach變量In集合名或數(shù)組名循環(huán)體Next該語句的主要功能是對集合或數(shù)組中的每個元素依次執(zhí)行循環(huán)體的操作,在循環(huán)中變量會依次取得集合或數(shù)組中元素的值(而非數(shù)組元素的下標)。使用時只寫明數(shù)組或集合的名稱,而不寫下標。

VBScript基本語句循環(huán)語句3.數(shù)組循環(huán)ForEachIn…NextVB49循環(huán)語句<scriptlanguage="vbscript"type="text/vbscript">subb1_OnClickdimt,msgforeachtindocument.form1msg=msg&t.value&vbcrlfnextmsgboxmsgendsub</script>VBScript基本語句案例3-11提取表單各項內(nèi)容并輸出(效果)循環(huán)語句<scriptlanguage="vbscript50循環(huán)語句<scriptlanguage="vbscript"type="text/vbscript">OptionExplicitDims(),iReDims(3)Fori=0toUbound(s)s(i)=i+1NextForEachiInsdocument.Writei&"<br>"Next</script>

注:Ubound()函數(shù)的參數(shù)是一個數(shù)組名,其作用是返回該數(shù)組的元素個數(shù)

VBScript基本語句案例3-12數(shù)組循環(huán)與計數(shù)循環(huán)的比較(效果)循環(huán)語句<scriptlanguage="vbscript51VBScript的過程和函數(shù)VBScript中的過程與函數(shù)兩者概念類似,它們都是具有一定功能的代碼塊。但過程只是完成一定的任務(wù),沒有返回值;而函數(shù)可以有返回值。VBScript基本語句VBScript的過程和函數(shù)VBScript基本語句52VBScript的過程和函數(shù)定義過程的格式如下:Sub過程名稱[(參數(shù)1,參數(shù)2,…,參數(shù)n)]程序代碼EndSub過程只有被調(diào)用時才會執(zhí)行。腳本代碼中調(diào)用過程有兩種方法:①Call過程名[(參數(shù)1,參數(shù)2,…,參數(shù)n)]②過程名[參數(shù)1,參數(shù)2,…,參數(shù)n]這兩種調(diào)用的效果是一樣的。在不使用Call語句進行過程調(diào)用時,要去掉參數(shù)列表的括號。VBScript基本語句VBScript的過程和函數(shù)定義過程的格式如下:VBScri53VBScript的過程和函數(shù)一般過程執(zhí)行到EndSub語句時才會結(jié)束,但也可以用ExitSub語句提早結(jié)束過程。過程調(diào)用語句可以在過程定義之前,也可以在過程定義之后??梢栽谝粋€過程的執(zhí)行中調(diào)用另外一個過程。但不要在一個過程定義中嵌套定義過程。VBScript基本語句VBScript的過程和函數(shù)一般過程執(zhí)行到EndSub語句54VBScript的過程和函數(shù)<scriptlanguage="vbscript"type="text/vbscript">OptionExplicitDimnum,s,inum=inputbox("請輸入一個數(shù)")Subcalc(n)s=1Fori=1tons=s*iNextMsgboxn&"的階乘是"&sEndSubCallcalc(num)</script>VBScript基本語句案例3-13計算階乘(效果)VBScript的過程和函數(shù)<scriptlanguage55VBScript的過程和函數(shù)定義函數(shù)的格式如下:Function函數(shù)名[(參數(shù)1,參數(shù)2,…,參數(shù)n)]程序代碼函數(shù)名=返回值EndFunction一般函數(shù)的調(diào)用格式如下:變量名稱=函數(shù)名[(參數(shù)1,參數(shù)2,…,參數(shù)n)]VBScript基本語句案例3-14計算階乘之二(代碼)VBScript的過程和函數(shù)定義函數(shù)的格式如下:VBScri56VBScript的過程和函數(shù)Subcalc()num=form1.num.values=p(num)form1.result.value=sEndSubFunctionp(n)s=1Fori=1tons=s*iNextp=sEndFunctionVBScript基本語句VBScript的過程和函數(shù)Subcalc()VBScri57VBScript的過程和函數(shù)VBScript的過程還可以偵測到用戶對瀏覽器所做的操作,也就是說不論用戶在瀏覽器上移動鼠標或是點擊了某處,都可以編寫過程來響應。這時,先由編程者定義一個過程名,然后在對象的標記中增加“事件=過程名”這一句,意思是當對象的某個事件發(fā)生時就去執(zhí)行過程。常用的事件有:OnClick、OnBlur、OnFocus、Onselect、OnChange、OnMouseOver、OnMouseDown、OnMouseMove等。

VBScript基本語句案例3-14計算階乘之二(效果)VBScript的過程和函數(shù)VBScript的過程還可以偵測58VBScript的過程和函數(shù)另一種事件響應的形式是,定義過程時,將過程名命名為“對象名稱_事件名稱”。例如:SubB1_onclick()……Endsub這樣,當名字為“B1”的按鈕被點擊時也會執(zhí)行該過程。此時按鈕B1的<input>標記中就不用添加“事件=函數(shù)名”一項了。VBScript基本語句VBScript的過程和函數(shù)另一種事件響應的形式是,定義過程59注釋語句VBScript有專門的注釋語句,格式為:Rem注釋內(nèi)容注釋語句可以單獨占一行,也可以放在某行代碼的后面。但是在同一行內(nèi),續(xù)行符后面不能有注釋。Rem注釋語句可以用在服務(wù)器腳本和客戶機腳本上。除此之外,VBScript還支持一種簡便的添加注釋的方式,將注釋內(nèi)容以一個撇號“’”開頭。它與注釋語句Rem作用是一樣的,VBScript基本語句注釋語句VBScript有專門的注釋語句,格式為:VB60容錯語句在前述計算階乘的案例3-14中,用戶輸入數(shù)據(jù)時如果輸入的是字母而不是數(shù)字,會顯示程序錯誤。VBScript提供了一條語句可以把錯誤擋下來,而不讓它返回瀏覽器造成分頁錯誤:OnErrorResumeNextVBScript基本語句容錯語句在前述計算階乘的案例3-14中,用戶輸入數(shù)據(jù)61容錯語句Subb1_onclick()

OnErrorResumeNextDimnum,n,sn=form1.num.values=1Fori=1ton

Iferr.number=0Then’如果number<>0,說明有錯誤發(fā)生s=s*iElseMsgbox"輸入錯誤!",48ExitForEndIfNextform1.result.value=sEndSubVBScript基本語句案例3-15錯誤處理(效果)容錯語句Subb1_onclick()VBScript基623.4VBScript主要函數(shù)3.4.1字符串處理函數(shù)3.4.2轉(zhuǎn)換函數(shù)3.4.3日期和時間函數(shù)3.4.4數(shù)學函數(shù)3.4.5檢驗函數(shù)3.4VBScript主要函數(shù)3.4.1字符串處理函數(shù)63字符串處理函數(shù)VBScript主要函數(shù)函數(shù)名稱功能Asc(S)返回與字符串S的第一個字母對應的ANSI字符代碼Chr(x)把x作為ASCII碼,返回對應的字符Lcase(S)將字符串S中字母都轉(zhuǎn)化為小寫形式Ucase(S)將字符串S中字母都轉(zhuǎn)化為大寫形式Instr(S1,S2)返回字符串S2在字符串S1中第一次出現(xiàn)的位置。如果在字符串S1中沒有找到字符串S2,則返回0。Len(S)返回字符串S的長度Left(S,t)返回指定數(shù)目(長度)t的從字符串S的左邊算起的字符Right(S,t)返回指定數(shù)目(長度)t的從字符串S的右邊算起的字符字符串處理函數(shù)VBScript主要函數(shù)函數(shù)名稱64字符串處理函數(shù)VBScript主要函數(shù)函數(shù)名稱功能Mid(S,t1,t2)取子串,從字符串S指定的起始位置t1返回指定數(shù)目t2的字符Ltrim(S)刪除字符串S左邊的空格Rtrim(S)刪除字符串S右邊的空格Trim(S)去掉字符串S前后的空格Strcomp(S1,S2)返回字符串結(jié)果的值。如果字符串S1小于字符串S2,返回-1;如果字符串S1等于字符串S2,返回0;如果字符串S1大于字符串S2,返回1。Replace(S,S1,S2)用字符串S2替換原字符串S中的子字符串S1String(n,S)生成由字符串S重復而得的長度為n的字符串Strreverse(S)字符串翻轉(zhuǎn)字符串處理函數(shù)VBScript主要函數(shù)函數(shù)名稱65字符串處理函數(shù)<scriptlanguage="vbscript"type="text/vbscript">Dimmag,start,lengthstart=1msg="歡迎來到我的酷寶貝小站"length=Len(msg)Subchange()window.Status=Mid(msg,start,length-start+1)+Left(msg,start)start=start+1Ifstart>lengthThenstart=1window.SetTimeOut"change()",200EndSubCallchange()</script>VBScript主要函數(shù)案例3-16狀態(tài)欄滾動文字(效果)字符串處理函數(shù)<scriptlanguage="vbscr66轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)用于將某種類型的數(shù)據(jù)轉(zhuǎn)換成其他類型的數(shù)據(jù)。VBScript中常用的轉(zhuǎn)換函數(shù)有如下幾種:1.Cbool函數(shù):功能:將數(shù)值型、日期型等數(shù)據(jù)轉(zhuǎn)換為布爾型數(shù)據(jù)。例如,Cbool(#2008-2-7#)的結(jié)果為True,Cbool(0)的結(jié)果為False。VBScript主要函數(shù)轉(zhuǎn)換函數(shù)轉(zhuǎn)換函數(shù)用于將某種類型的數(shù)據(jù)轉(zhuǎn)換成其他類型的67轉(zhuǎn)換函數(shù)2.Cdat函數(shù)功能:以1899年為標準將數(shù)值型數(shù)據(jù)和數(shù)字型文本的整數(shù)部分轉(zhuǎn)換成一個日期型數(shù)據(jù),小數(shù)部分轉(zhuǎn)換成時間型數(shù)據(jù)。例如,Cdate(1234567.89)和Cdate(“1234567.89”)的結(jié)果為5280-2-1521:21:36。對于形如“29-3-7”的文本,Cdate(“29-3-7”)轉(zhuǎn)換結(jié)果為2029-3-7,轉(zhuǎn)換規(guī)則是0~29之間的年份,前面被加上“20”,30以上的年份,前面被加上“19”。特殊的,Cdate(true)結(jié)果為1899-12-29,Cdate(false)結(jié)果為0:00:00。VBScript主要函數(shù)轉(zhuǎn)換函數(shù)2.Cdat函數(shù)VBScript主要函數(shù)68轉(zhuǎn)換函數(shù)3.Cdbl函數(shù)功能:把布爾型、日期時間型或數(shù)值型數(shù)據(jù)轉(zhuǎn)換成一個雙精度數(shù)。如果要轉(zhuǎn)換的數(shù)據(jù)是日期時間型,此函數(shù)與Cdate函數(shù)作用相反。例如,Cdbl(#2008-2-721:21:36#)結(jié)果為39485.89。4.Cint函數(shù)功能:將布爾型、日期時間型或數(shù)值型數(shù)據(jù)轉(zhuǎn)換成一個整數(shù),如果有小數(shù)部分,則四舍五入。例如,Cint(#1900-2-721:21:36#)結(jié)果為40,Cint(true)結(jié)果為-1。VBScript主要函數(shù)轉(zhuǎn)換函數(shù)3.Cdbl函數(shù)VBScript主要函數(shù)69轉(zhuǎn)換函數(shù)5.Clng函數(shù)功能:把布爾型、日期時間型或數(shù)值型數(shù)據(jù)轉(zhuǎn)換成一個長整型數(shù),如果有小數(shù)部分,則四舍五入。例如,clng(#2008-2-721:21:36#)結(jié)果為39486。6.Csng函數(shù)功能:把布爾型、日期時間型或數(shù)值型數(shù)據(jù)轉(zhuǎn)換成一個單精度數(shù)。例如,csng(#2008-2-721:21:36#)結(jié)果為39485.89。7.Cstr函數(shù)功能:將數(shù)據(jù)轉(zhuǎn)換成一個字符串。例如,mid(cstr(1234567.89),1,3)結(jié)果為“123”。VBScript主要函數(shù)轉(zhuǎn)換函數(shù)5.Clng函數(shù)VBScript主要函數(shù)70轉(zhuǎn)換函數(shù)8.Cbyte函數(shù)功能:將數(shù)據(jù)轉(zhuǎn)換成Byte數(shù)據(jù)類型。Byte類型數(shù)據(jù)容納的范圍是0到255的正數(shù),如果所轉(zhuǎn)換的數(shù)據(jù)超出了這個范圍,將得到一個溢出錯誤。9.Ccur函數(shù)功能:將數(shù)值轉(zhuǎn)化成Currency數(shù)據(jù)類型,這種數(shù)據(jù)類型最多可以處理小數(shù)點右側(cè)4位小數(shù),因此常用于貨幣計算。VBScript主要函數(shù)轉(zhuǎn)換函數(shù)8.Cbyte函數(shù)VBScript主要函71日期和時間函數(shù)VBScript主要函數(shù)VBScript常見的日期和時間函數(shù):函數(shù)名稱功能Now()返回當前系統(tǒng)的日期和時間Date()返回當前系統(tǒng)的日期Year(日期)返回日期中的年份Month(日期)返回日期中的月份Day(日期)返回日期中的日Weekday(日期)返回日期的星期數(shù)Time()返回當前系統(tǒng)的時間Hour(時間)返回時間的小時數(shù)Minute(時間)返回時間的分鐘數(shù)Second(時間)返回時間的秒數(shù)日期和時間函數(shù)VBScript主要函數(shù)VBScrip72日期和時間函數(shù)VBScript主要函數(shù)<scriptlanguage="vbscript"type="text/vbscript">document.Write"你好,朋友。"y=Year(date)m=Month(date)d=Day(date)h=Hour(time)minu=Min

溫馨提示

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

評論

0/150

提交評論