




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章VBScript腳本語(yǔ)言
第4章VBScript腳本語(yǔ)言第4章VBScript腳本語(yǔ)言
第4章VBScript腳本語(yǔ)言本章要點(diǎn):VBScript語(yǔ)言簡(jiǎn)介VBScript語(yǔ)法基礎(chǔ)VBScript常用控制結(jié)構(gòu)VBScript對(duì)象和事件應(yīng)用本章要點(diǎn):4.1VBScript語(yǔ)言概述
4.1.1什么是VBScript?VBScript是一種基于對(duì)象的腳本語(yǔ)言。腳本:是指嵌入到Web頁(yè)中的程序代碼,利用這些特殊的代碼,可以控制網(wǎng)頁(yè)的控件和對(duì)象,增強(qiáng)網(wǎng)頁(yè)的靈活性和多樣性。
VBScript是程序開(kāi)發(fā)語(yǔ)言VisualBasic家族的最新成員,是VB的子集,語(yǔ)法也與VB相同。VBScript是目前最流行的腳本語(yǔ)言之一。既可在客戶端進(jìn)行編程,也可作為服務(wù)器端編程語(yǔ)言的腳本語(yǔ)言。在ASP程序設(shè)計(jì)中,Web服務(wù)器IIS默認(rèn)使用VBScript作為腳本語(yǔ)言??墒褂萌我獾奈淖志庉嬈骶帉慥BScript語(yǔ)句,然后將其嵌入到HTML標(biāo)記中,并保存為“.htm”、“.html”或“.asp”文件就可運(yùn)行實(shí)現(xiàn)。4.1VBScript語(yǔ)言概述4.1.1什么是VBS4.1.2在網(wǎng)頁(yè)中添加VBScript代碼
1.在HTML網(wǎng)頁(yè)中使用VBScriptVBScript腳本代碼必須放入<script>……</script)標(biāo)記中,其格式為:
<ScriptLanguage=“VBScript”>
‘VBScript代碼’
</Script>【例4.1】在HTML網(wǎng)頁(yè)中彈出一個(gè)消息框,內(nèi)容為“Hello,VBScript!”。程序代碼如下:
<html>
<head>
<title>在HTML網(wǎng)頁(yè)中使用VBScript</title>
</head>
<body>
<scriptlanguage="VBScript">
alert("Hello,VBScript!")
</script>
</body></html>4.1.2在網(wǎng)頁(yè)中添加VBScript代碼1.在HTML2.在ASP網(wǎng)頁(yè)中使用VBScript
在ASP程序中,VBScript代碼要放在<%...%>之間,或放在<script>…….</script>之間,但要在<scriptlanguage=“vbscript”>中加入“runat=server”。格式為:
<%在服務(wù)器端運(yùn)行的VBScript代碼%>
或
<scriptlanguage="vbscript"runat=server>
在服務(wù)器端運(yùn)行的VBScript代碼
</script>【例4.2】在ASP頁(yè)面中輸出當(dāng)前的日期。程序代碼如下:
<html>
<head>
<title>在ASP網(wǎng)頁(yè)中使用VBScript</title>
</head>
<body>
<%Response.write"今天是"&Date%>
</body></html>
或?qū)⒋a<%Response.write"今天是"&Date%>改為如下形式:
<scriptlanguage="VBScript"runat=server>
Response.write"今天是"&Date</script>2.在ASP網(wǎng)頁(yè)中使用VBScript在ASP程序中4.2VBScript的基本語(yǔ)法
4.2.1VBScript數(shù)據(jù)類型VBScript中只有一種數(shù)據(jù)類型,稱為Variant(變體型)。4.2.2常量、變量與表達(dá)式1.常量
在VBScript中使用常量之前,須先使用Const語(yǔ)句定義常量。語(yǔ)法格式為:
Const常量名=值例如:
ConstDay="星期三"′字符串常量,必須用雙引號(hào)""括起來(lái)
ConstDate=#15/8/2008#′日期常量,必須用#括起來(lái)
ConstPI=3.1415926′數(shù)值常量
ConstT=true′邏輯型常量,只有true或false值4.2VBScript的基本語(yǔ)法4.2.1VBScr(1)變量的定義在VBScript中使用關(guān)鍵字Dim聲明變量,語(yǔ)法格式為:
Dim變量名例如:dimx
dimx,y,z(2)變量的賦值語(yǔ)法格式為:變量名=值例如:x=100(3)變量的作用域和生存期如果一個(gè)變量在過(guò)程或函數(shù)內(nèi)聲明,則稱其為局部變量或過(guò)程級(jí)變量,其作用域僅局限于該過(guò)程或函數(shù)內(nèi)部,用于臨時(shí)存放數(shù)據(jù)。如果一個(gè)變量在過(guò)程或函數(shù)外聲明,則稱其為全局變量或頁(yè)面級(jí)變量,其作用域?yàn)檎麄€(gè)網(wǎng)頁(yè),用于存放整個(gè)程序公用的數(shù)據(jù),可供當(dāng)前網(wǎng)頁(yè)中的各個(gè)腳本程序訪問(wèn)。變量從定義開(kāi)始到最后被撤銷的存在時(shí)間稱為存活期。2.變量(1)變量的定義2.變量3.運(yùn)算符與表達(dá)式(1)算術(shù)運(yùn)算符加(+)、減(-)、乘(*)、除(/)、取余(Mod)、求冪(^)、整除(\)等。(2)連接運(yùn)算符
VBScript連接運(yùn)算符有“&”或“+”兩種,用于將兩個(gè)字符串進(jìn)行連接?!?”:將兩個(gè)字符串連接生成一個(gè)新的字符串,其操作數(shù)必須為字符型?!埃Α保河糜趶?qiáng)制性將兩個(gè)表達(dá)式作為字符串進(jìn)行連接生成一個(gè)新的字符串,其操作數(shù)必須為字符型。(3)邏輯運(yùn)算符有與(And)、或(Or)、非(Not)、異或(Xor)四種,用于判斷表達(dá)式是否成立,返回值為:真(True)或假(False)。(4)比較運(yùn)算符有等于(=)、不等于(<>)、小于(<)、大于(>)、小于等于(<=)、大于等于(>=),用于比較表達(dá)式兩邊的值,返回值為:真(True)或假(False)。3.運(yùn)算符與表達(dá)式(1)算術(shù)運(yùn)算符數(shù)組的聲明與變量一樣,使用關(guān)鍵字Dim,只是需要將元素的個(gè)數(shù)(即數(shù)組的長(zhǎng)度)包含在數(shù)組名稱之后的括號(hào)里。數(shù)組聲明的語(yǔ)法格式為:
Dim數(shù)組名(下標(biāo))
例如:聲明一個(gè)包含8個(gè)元素的一維數(shù)組:DimA(7)
聲明一個(gè)3行4列的二維數(shù)組:DimA(2,3)動(dòng)態(tài)數(shù)組是指在程序運(yùn)行期間長(zhǎng)度可以改變的數(shù)組,它使用Dim或ReDim聲明,與數(shù)組不同的是,動(dòng)態(tài)數(shù)組變量后面的括號(hào)中可以沒(méi)有下標(biāo)。例如:DimA()
RedimA()Redim語(yǔ)句與Dim的不同之處在于其數(shù)組可以重設(shè)數(shù)組的維數(shù)和大小。例如:RedimA(3)RedimpreserveA(4)
注意:使用Redim重新聲明數(shù)組后,原有數(shù)組的元素值將全部清空,若要保留原有元素值,需要使用preserve關(guān)鍵字。
4.2.3數(shù)組數(shù)組的聲明與變量一樣,使用關(guān)鍵字Dim,只是需要將元素的個(gè)數(shù)4.2.4VBScript的過(guò)程與函數(shù)
在VBScript中,根據(jù)過(guò)程是否有返回值,過(guò)程被分為兩類:Sub過(guò)程(子過(guò)程)和Function過(guò)程(函數(shù))。1.Sub過(guò)程
Sub過(guò)程的格式為:定義過(guò)程:Sub<子過(guò)程名><([形式參數(shù)])>[命令]EndSub
調(diào)用過(guò)程:Call<子過(guò)程名>([實(shí)際參數(shù)])
2.函數(shù)
Function函數(shù)的格式為:定義函數(shù):Function<函數(shù)名<([形式參數(shù)])>[命令]EndFunction
調(diào)用函數(shù):<函數(shù)名>[<([實(shí)際參數(shù)])>]4.2.4VBScript的過(guò)程與函數(shù)在VBScr4.2.5VBScript的常用函數(shù)1.?dāng)?shù)學(xué)運(yùn)算函數(shù)(1)取絕對(duì)值格式:Abs(x)
功能:返回x的絕對(duì)值。例如:Abs(-3)=3(2)取整格式1:Int(x)格式2:Fix(x)
功能:返回x的整數(shù)部分。若x為負(fù)數(shù),則Int返回小于或等于x的第一個(gè)負(fù)整數(shù),F(xiàn)ix返回大于或等于x的第一個(gè)負(fù)整數(shù)。例如:Int(4.8)=4Fix(4.8)=4
Int(-4.8)=-5Fix(-4.8)=-4(3)四舍五入格式1:CInt(x)功能:將x的值的小數(shù)部分四舍五入后,返回一個(gè)整數(shù)值。例如:CInt(3.1)=3CInt(4.8)=54.2.5VBScript的常用函數(shù)1.?dāng)?shù)學(xué)運(yùn)算函數(shù)
格式2:Round(表達(dá)式[,小數(shù)位數(shù)])功能:返回表達(dá)式按指定的小數(shù)位數(shù)進(jìn)行四舍五入后的結(jié)果,若缺省小數(shù)位數(shù),則四舍五入為整數(shù)。例如:Round(3.14159,2)=3.14
Round(3.14159)=3(4)開(kāi)平方格式:Sqr(x)
功能:返回x的平方根。要求x大于或等于0。例如:Sqr(25)=5
Sqr(23)=4.79583152331272(5)計(jì)算數(shù)學(xué)表達(dá)式格式:Eval(數(shù)學(xué)表達(dá)式)
功能:計(jì)算并返回指定數(shù)學(xué)表達(dá)式的值。例如:Eval(15+28/4)=22格式2:Round(表達(dá)式[,小數(shù)位數(shù)])(6)隨機(jī)數(shù)格式:Rnd[(x)]
功能:返回一個(gè)小于1但大于或等于0的隨機(jī)數(shù)。若x<0,則每次產(chǎn)生的隨機(jī)數(shù)均相同;若x>0或缺省,則產(chǎn)生與上次不同的新隨機(jī)數(shù);若x=0,則本次產(chǎn)生的隨機(jī)數(shù)與上次產(chǎn)生的隨機(jī)數(shù)相同。例如:Rnd(-1)=.224007
Rnd(1)=3.584582E-02(6)隨機(jī)數(shù)2.字符串函數(shù)(1)字符串長(zhǎng)度檢測(cè)格式:Len(字符串)功能:返回字符串中的字符的個(gè)數(shù)。例如:Len("VBScript函數(shù)")結(jié)果為:10(2)截取字符串左截取:Left(字符串,截取的個(gè)數(shù))
右截?。篟ight(字符串,截取的個(gè)數(shù))指定位置截?。篗id(字符串,截取開(kāi)始位置,截取個(gè)數(shù))2.字符串函數(shù)
例如:
Left("VBScript函數(shù)有哪些",3)結(jié)果為:VBSRight("VBScript函數(shù)有哪些",3)結(jié)果為:有哪些
Mid("VBScript函數(shù)有哪些",5)結(jié)果為:ript函數(shù)有哪些
Mid("VBScript函數(shù)有哪些",5,5)結(jié)果為:ript函(3)刪除空格左邊空格:Lrtim(字符串)
右邊空格:Rtrim(字符串)
兩端空格:Trim(字符串)
例如:
Lrtim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”
Rtrim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”
Trim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”例如:(1)返回系統(tǒng)當(dāng)前的日期及時(shí)間:Now()(2)返回系統(tǒng)當(dāng)前的日期:Date()
返回系統(tǒng)當(dāng)前日期中的年份:Year(date)
返回系統(tǒng)當(dāng)前日期中的月份:Month(date)
返回系統(tǒng)當(dāng)前日期中的日期:Day(date)
返回系統(tǒng)當(dāng)前日期中的星期數(shù):Weekday(date[,start])(3)返回系統(tǒng)當(dāng)前的時(shí)間:Time()
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Hour(time)
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Minute(time)
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Second(time)
例如:
Document.write(Date)結(jié)果為:2008-8-20Document.write(Time)結(jié)果為:22:16:26Document.write(Now)結(jié)果為:2008-8-2022:16:26
【例4.3】在頁(yè)面中顯示系統(tǒng)當(dāng)前的時(shí)間。腳本程序代碼如下:
<%=now%>3.日期函數(shù)(1)返回系統(tǒng)當(dāng)前的日期及時(shí)間:Now()3.日期函數(shù)4.?dāng)?shù)據(jù)類型轉(zhuǎn)換函數(shù)
(1)數(shù)字轉(zhuǎn)換成字符串格式:Str(<數(shù)值表達(dá)式>)
功能:將數(shù)值表達(dá)式表示的數(shù)字轉(zhuǎn)換成字符串。例如:Str(100)結(jié)果為:“100”(2)字符串轉(zhuǎn)換成數(shù)字格式:Val(<字符串表達(dá)式>)
功能:將字符串表達(dá)式表示的字符串內(nèi)的字符型數(shù)字轉(zhuǎn)換成數(shù)值型數(shù)字。例如:Val("123清華大學(xué)")結(jié)果為:123(3)字符轉(zhuǎn)換成字符代碼格式:Asc(<字符串表達(dá)式>)
功能:返回一個(gè)整型數(shù),代表字符串表達(dá)式表示的字符串首字母的字符代碼。例如:Asc("a")結(jié)果為:97(即小寫字符a的ASCII碼)(4)字符代碼轉(zhuǎn)換成字符格式:Chr(<字符代碼>)
功能:返回指定的字符代碼相關(guān)的字符。例如:Chr(97)結(jié)果為:a(即在ASCII碼中的小寫字符a)4.?dāng)?shù)據(jù)類型轉(zhuǎn)換函數(shù)(1)數(shù)字轉(zhuǎn)換成字符串5.其他函數(shù)
(1)InputBox函數(shù)格式:Inputbox("提示信息")
功能:用于產(chǎn)生一個(gè)接收用戶輸入信息的輸入框。【例4.4】設(shè)計(jì)一個(gè)InputBox輸入框,用于接收并判斷用戶輸入的密碼內(nèi)容。腳本程序代碼如下:
<scriptlanguage="vbscript">
Dimaa
password="123456"
aa=inputbox("請(qǐng)輸入密碼")
Dowhileaa<>password
aa=inputbox("密碼不正確,請(qǐng)重新輸入!")
Loop
document.write("密碼正確,進(jìn)入頁(yè)面!")</script>
5.其他函數(shù)(1)InputBox函數(shù)(2)MsgBox函數(shù)格式:MsgBox("提示信息,[數(shù)值]")
功能:用來(lái)產(chǎn)生一個(gè)選擇框,等待用戶做出選擇?!纠?.5】設(shè)計(jì)一個(gè)MsgBox選擇框,用于用戶確認(rèn)所選擇的信息。腳本程序代碼如下:
<scriptlanguage="vbscript">
dimcc
cc=msgbox("您選擇的是A類產(chǎn)品,確認(rèn)購(gòu)買嗎?",3)
</script>(2)MsgBox函數(shù)4.3VBScript常用控制結(jié)構(gòu)
4.3.1選擇結(jié)構(gòu)1.lf…then…Else…Endif語(yǔ)句格式:if<條件>then[語(yǔ)句1]Else[語(yǔ)句2]endif2.lf…Elself…Endif語(yǔ)句格式:if<條件1>then[語(yǔ)句1][elseif<條件2>then][語(yǔ)句2]
……[else][語(yǔ)句n]endif4.3VBScript常用控制結(jié)構(gòu)4.3.1選擇結(jié)構(gòu)3.Selectcase…Endselect語(yǔ)句
格式:selectcase<測(cè)試表達(dá)式>case<測(cè)試表達(dá)式1>[語(yǔ)句1]case<測(cè)試表達(dá)式2>[語(yǔ)句2]
……caseelse[語(yǔ)句n]endselect3.Selectcase…Endselect語(yǔ)句4.3.2循環(huán)結(jié)構(gòu)1.Do…Loop語(yǔ)句
格式:
Dowhile<條件>[語(yǔ)句1][exitdo][語(yǔ)句2]Loop4.3.2循環(huán)結(jié)構(gòu)2.While…Wend語(yǔ)句
格式:While<條件>[語(yǔ)句]Wend3.For…Next語(yǔ)句
格式:For<循環(huán)變量=初值>To<終值>[step步長(zhǎng)][語(yǔ)句1][exitfor][語(yǔ)句2]Next2.While…Wend語(yǔ)句4.4VBScript對(duì)象和事件
4.4.1對(duì)象和事件的概念VBScript采用的是面向?qū)ο?、事件?qū)動(dòng)編程機(jī)制。對(duì)象:從面向?qū)ο蟪绦蛟O(shè)計(jì)的角度來(lái)看,對(duì)象是具有屬性和方法的實(shí)體。
格式:對(duì)象名.屬性(或方法)對(duì)象的動(dòng)作則常常要觸發(fā)事件。事件驅(qū)動(dòng)指的就是通過(guò)事件的發(fā)生來(lái)推動(dòng)指定程序的執(zhí)行。在VBScript中常用的事件有如下幾種:(1)與系統(tǒng)有關(guān)的事件
onLoad:當(dāng)一個(gè)網(wǎng)頁(yè)被加載時(shí)觸發(fā)。
onUnload:當(dāng)一個(gè)網(wǎng)頁(yè)被卸載時(shí)觸發(fā)。
onFocus:對(duì)象獲得焦點(diǎn)時(shí)觸發(fā)。
onBlur:對(duì)象失去焦點(diǎn)時(shí)觸發(fā)。4.4VBScript對(duì)象和事件4.4.1對(duì)象和事件
(2)與鼠標(biāo)有關(guān)的事件
onClick:鼠標(biāo)單擊時(shí)觸發(fā)。
onDblClick:鼠標(biāo)單雙擊時(shí)觸發(fā)。
onMouseDown:鼠標(biāo)按下時(shí)觸發(fā)。
onMouseUp:鼠標(biāo)彈起時(shí)觸發(fā)。
onMouseMove:鼠標(biāo)移動(dòng)時(shí)觸發(fā)。
onMouseOver:鼠標(biāo)移動(dòng)到對(duì)象上時(shí)觸發(fā)。
(3)與鍵盤有關(guān)的事件
onKeyPress:按鍵時(shí)觸發(fā)。
onKeyDown:鍵被按下時(shí)觸發(fā)。
onKeyUp:鍵彈起時(shí)觸發(fā)。
(2)與鼠標(biāo)有關(guān)的事件4.4.2網(wǎng)頁(yè)及瀏覽器對(duì)象
網(wǎng)頁(yè)瀏覽器為VBScript腳本提供了一組可以被調(diào)用的對(duì)象集合,被稱為腳本對(duì)象模型。IE瀏覽器的腳本對(duì)象模型是一種層次結(jié)構(gòu),如圖4.1所示。圖4.1IE瀏覽器的腳本對(duì)象模型
4.4.2網(wǎng)頁(yè)及瀏覽器對(duì)象網(wǎng)頁(yè)瀏覽器為VBScri1.Window對(duì)象window對(duì)象表示瀏覽器中一個(gè)打開(kāi)的窗口。通過(guò)引用該對(duì)象的屬性可以控制腳本中其他對(duì)象的屬性,進(jìn)而控制整個(gè)網(wǎng)頁(yè)的外觀以及對(duì)事件的響應(yīng)。使用Window對(duì)象可以獲得當(dāng)前窗口的狀態(tài)信息、文檔信息、瀏覽器的信息,還可以響應(yīng)發(fā)生在IE中的事件。
window對(duì)象常用的屬性、方法和事件如下:(1)Alert方法格式:alert("消息內(nèi)容")
功能:用來(lái)產(chǎn)生一個(gè)彈出式的消息框,其圖標(biāo)為一個(gè)警告標(biāo)識(shí)。【例4.6】使用alert方法產(chǎn)生一個(gè)消息框。程序代碼如下:
<bodyonload="alert('歡迎訪問(wèn)本網(wǎng)站!')">
(2)Prompt方法格式:Prompt("提示信息")
功能:用來(lái)產(chǎn)生提示框。例如:Prompt("請(qǐng)輸入您的姓名:")1.Window對(duì)象(3)Open、Colse方法
Open用來(lái)打開(kāi)一個(gè)頁(yè)面。
Close用來(lái)關(guān)閉一個(gè)頁(yè)面。例如:<Ahref="vbscript:window.close()">關(guān)閉窗口</A>(4)Status屬性更改瀏覽器狀態(tài)欄的文字。例如:window.Status=“歡迎訪問(wèn)本網(wǎng)站!”
(5)OnLoad、OnUnload事件
OnLoad事件是在頁(yè)面完全傳遞到瀏覽器時(shí)發(fā)生的事件,OnUnload事件是當(dāng)離開(kāi)頁(yè)面時(shí)發(fā)生的事件。例如:<bodyonunload="alert('歡迎下次再訪問(wèn)本站!')">
(3)Open、Colse方法2.Document對(duì)象
Document對(duì)象代表了當(dāng)前瀏覽器窗口中的HTML文檔,它是腳本對(duì)象模型中最為重要的對(duì)象??梢酝ㄟ^(guò)該對(duì)象檢測(cè)HTML文檔中各元素的狀態(tài)(比如,顏色、字體,發(fā)生的事件等),并且可以更改這些元素的狀態(tài)。
(1)LastModified屬性使用lastModified屬性可以在頁(yè)面上自動(dòng)產(chǎn)生最后修改頁(yè)面的日期。例如:document.Write(document.lastmodified)(2)write方法和writeln方法使用Write方法可以動(dòng)態(tài)地在HTML文檔中寫入新的HTML代碼,寫入的內(nèi)容可以是HTML代碼,即可以包含有HTML標(biāo)記。例如:
document.Write("<fontcolor=′red′>這是我做的網(wǎng)頁(yè)</font>")write方法和writeln方法的區(qū)別在于writeln方法在輸出字符串末尾添加了回車標(biāo)志。(3)document對(duì)象的事件
Document對(duì)象的事件中常見(jiàn)的有:click,dblclick、keydown、keypress、keyup、mousedown、mouseover、mouseout、mouseup等。2.Document對(duì)象第4章VBScript腳本語(yǔ)言
第4章VBScript腳本語(yǔ)言第4章VBScript腳本語(yǔ)言
第4章VBScript腳本語(yǔ)言本章要點(diǎn):VBScript語(yǔ)言簡(jiǎn)介VBScript語(yǔ)法基礎(chǔ)VBScript常用控制結(jié)構(gòu)VBScript對(duì)象和事件應(yīng)用本章要點(diǎn):4.1VBScript語(yǔ)言概述
4.1.1什么是VBScript?VBScript是一種基于對(duì)象的腳本語(yǔ)言。腳本:是指嵌入到Web頁(yè)中的程序代碼,利用這些特殊的代碼,可以控制網(wǎng)頁(yè)的控件和對(duì)象,增強(qiáng)網(wǎng)頁(yè)的靈活性和多樣性。
VBScript是程序開(kāi)發(fā)語(yǔ)言VisualBasic家族的最新成員,是VB的子集,語(yǔ)法也與VB相同。VBScript是目前最流行的腳本語(yǔ)言之一。既可在客戶端進(jìn)行編程,也可作為服務(wù)器端編程語(yǔ)言的腳本語(yǔ)言。在ASP程序設(shè)計(jì)中,Web服務(wù)器IIS默認(rèn)使用VBScript作為腳本語(yǔ)言??墒褂萌我獾奈淖志庉嬈骶帉慥BScript語(yǔ)句,然后將其嵌入到HTML標(biāo)記中,并保存為“.htm”、“.html”或“.asp”文件就可運(yùn)行實(shí)現(xiàn)。4.1VBScript語(yǔ)言概述4.1.1什么是VBS4.1.2在網(wǎng)頁(yè)中添加VBScript代碼
1.在HTML網(wǎng)頁(yè)中使用VBScriptVBScript腳本代碼必須放入<script>……</script)標(biāo)記中,其格式為:
<ScriptLanguage=“VBScript”>
‘VBScript代碼’
</Script>【例4.1】在HTML網(wǎng)頁(yè)中彈出一個(gè)消息框,內(nèi)容為“Hello,VBScript!”。程序代碼如下:
<html>
<head>
<title>在HTML網(wǎng)頁(yè)中使用VBScript</title>
</head>
<body>
<scriptlanguage="VBScript">
alert("Hello,VBScript!")
</script>
</body></html>4.1.2在網(wǎng)頁(yè)中添加VBScript代碼1.在HTML2.在ASP網(wǎng)頁(yè)中使用VBScript
在ASP程序中,VBScript代碼要放在<%...%>之間,或放在<script>…….</script>之間,但要在<scriptlanguage=“vbscript”>中加入“runat=server”。格式為:
<%在服務(wù)器端運(yùn)行的VBScript代碼%>
或
<scriptlanguage="vbscript"runat=server>
在服務(wù)器端運(yùn)行的VBScript代碼
</script>【例4.2】在ASP頁(yè)面中輸出當(dāng)前的日期。程序代碼如下:
<html>
<head>
<title>在ASP網(wǎng)頁(yè)中使用VBScript</title>
</head>
<body>
<%Response.write"今天是"&Date%>
</body></html>
或?qū)⒋a<%Response.write"今天是"&Date%>改為如下形式:
<scriptlanguage="VBScript"runat=server>
Response.write"今天是"&Date</script>2.在ASP網(wǎng)頁(yè)中使用VBScript在ASP程序中4.2VBScript的基本語(yǔ)法
4.2.1VBScript數(shù)據(jù)類型VBScript中只有一種數(shù)據(jù)類型,稱為Variant(變體型)。4.2.2常量、變量與表達(dá)式1.常量
在VBScript中使用常量之前,須先使用Const語(yǔ)句定義常量。語(yǔ)法格式為:
Const常量名=值例如:
ConstDay="星期三"′字符串常量,必須用雙引號(hào)""括起來(lái)
ConstDate=#15/8/2008#′日期常量,必須用#括起來(lái)
ConstPI=3.1415926′數(shù)值常量
ConstT=true′邏輯型常量,只有true或false值4.2VBScript的基本語(yǔ)法4.2.1VBScr(1)變量的定義在VBScript中使用關(guān)鍵字Dim聲明變量,語(yǔ)法格式為:
Dim變量名例如:dimx
dimx,y,z(2)變量的賦值語(yǔ)法格式為:變量名=值例如:x=100(3)變量的作用域和生存期如果一個(gè)變量在過(guò)程或函數(shù)內(nèi)聲明,則稱其為局部變量或過(guò)程級(jí)變量,其作用域僅局限于該過(guò)程或函數(shù)內(nèi)部,用于臨時(shí)存放數(shù)據(jù)。如果一個(gè)變量在過(guò)程或函數(shù)外聲明,則稱其為全局變量或頁(yè)面級(jí)變量,其作用域?yàn)檎麄€(gè)網(wǎng)頁(yè),用于存放整個(gè)程序公用的數(shù)據(jù),可供當(dāng)前網(wǎng)頁(yè)中的各個(gè)腳本程序訪問(wèn)。變量從定義開(kāi)始到最后被撤銷的存在時(shí)間稱為存活期。2.變量(1)變量的定義2.變量3.運(yùn)算符與表達(dá)式(1)算術(shù)運(yùn)算符加(+)、減(-)、乘(*)、除(/)、取余(Mod)、求冪(^)、整除(\)等。(2)連接運(yùn)算符
VBScript連接運(yùn)算符有“&”或“+”兩種,用于將兩個(gè)字符串進(jìn)行連接?!?”:將兩個(gè)字符串連接生成一個(gè)新的字符串,其操作數(shù)必須為字符型。“&”:用于強(qiáng)制性將兩個(gè)表達(dá)式作為字符串進(jìn)行連接生成一個(gè)新的字符串,其操作數(shù)必須為字符型。(3)邏輯運(yùn)算符有與(And)、或(Or)、非(Not)、異或(Xor)四種,用于判斷表達(dá)式是否成立,返回值為:真(True)或假(False)。(4)比較運(yùn)算符有等于(=)、不等于(<>)、小于(<)、大于(>)、小于等于(<=)、大于等于(>=),用于比較表達(dá)式兩邊的值,返回值為:真(True)或假(False)。3.運(yùn)算符與表達(dá)式(1)算術(shù)運(yùn)算符數(shù)組的聲明與變量一樣,使用關(guān)鍵字Dim,只是需要將元素的個(gè)數(shù)(即數(shù)組的長(zhǎng)度)包含在數(shù)組名稱之后的括號(hào)里。數(shù)組聲明的語(yǔ)法格式為:
Dim數(shù)組名(下標(biāo))
例如:聲明一個(gè)包含8個(gè)元素的一維數(shù)組:DimA(7)
聲明一個(gè)3行4列的二維數(shù)組:DimA(2,3)動(dòng)態(tài)數(shù)組是指在程序運(yùn)行期間長(zhǎng)度可以改變的數(shù)組,它使用Dim或ReDim聲明,與數(shù)組不同的是,動(dòng)態(tài)數(shù)組變量后面的括號(hào)中可以沒(méi)有下標(biāo)。例如:DimA()
RedimA()Redim語(yǔ)句與Dim的不同之處在于其數(shù)組可以重設(shè)數(shù)組的維數(shù)和大小。例如:RedimA(3)RedimpreserveA(4)
注意:使用Redim重新聲明數(shù)組后,原有數(shù)組的元素值將全部清空,若要保留原有元素值,需要使用preserve關(guān)鍵字。
4.2.3數(shù)組數(shù)組的聲明與變量一樣,使用關(guān)鍵字Dim,只是需要將元素的個(gè)數(shù)4.2.4VBScript的過(guò)程與函數(shù)
在VBScript中,根據(jù)過(guò)程是否有返回值,過(guò)程被分為兩類:Sub過(guò)程(子過(guò)程)和Function過(guò)程(函數(shù))。1.Sub過(guò)程
Sub過(guò)程的格式為:定義過(guò)程:Sub<子過(guò)程名><([形式參數(shù)])>[命令]EndSub
調(diào)用過(guò)程:Call<子過(guò)程名>([實(shí)際參數(shù)])
2.函數(shù)
Function函數(shù)的格式為:定義函數(shù):Function<函數(shù)名<([形式參數(shù)])>[命令]EndFunction
調(diào)用函數(shù):<函數(shù)名>[<([實(shí)際參數(shù)])>]4.2.4VBScript的過(guò)程與函數(shù)在VBScr4.2.5VBScript的常用函數(shù)1.?dāng)?shù)學(xué)運(yùn)算函數(shù)(1)取絕對(duì)值格式:Abs(x)
功能:返回x的絕對(duì)值。例如:Abs(-3)=3(2)取整格式1:Int(x)格式2:Fix(x)
功能:返回x的整數(shù)部分。若x為負(fù)數(shù),則Int返回小于或等于x的第一個(gè)負(fù)整數(shù),F(xiàn)ix返回大于或等于x的第一個(gè)負(fù)整數(shù)。例如:Int(4.8)=4Fix(4.8)=4
Int(-4.8)=-5Fix(-4.8)=-4(3)四舍五入格式1:CInt(x)功能:將x的值的小數(shù)部分四舍五入后,返回一個(gè)整數(shù)值。例如:CInt(3.1)=3CInt(4.8)=54.2.5VBScript的常用函數(shù)1.?dāng)?shù)學(xué)運(yùn)算函數(shù)
格式2:Round(表達(dá)式[,小數(shù)位數(shù)])功能:返回表達(dá)式按指定的小數(shù)位數(shù)進(jìn)行四舍五入后的結(jié)果,若缺省小數(shù)位數(shù),則四舍五入為整數(shù)。例如:Round(3.14159,2)=3.14
Round(3.14159)=3(4)開(kāi)平方格式:Sqr(x)
功能:返回x的平方根。要求x大于或等于0。例如:Sqr(25)=5
Sqr(23)=4.79583152331272(5)計(jì)算數(shù)學(xué)表達(dá)式格式:Eval(數(shù)學(xué)表達(dá)式)
功能:計(jì)算并返回指定數(shù)學(xué)表達(dá)式的值。例如:Eval(15+28/4)=22格式2:Round(表達(dá)式[,小數(shù)位數(shù)])(6)隨機(jī)數(shù)格式:Rnd[(x)]
功能:返回一個(gè)小于1但大于或等于0的隨機(jī)數(shù)。若x<0,則每次產(chǎn)生的隨機(jī)數(shù)均相同;若x>0或缺省,則產(chǎn)生與上次不同的新隨機(jī)數(shù);若x=0,則本次產(chǎn)生的隨機(jī)數(shù)與上次產(chǎn)生的隨機(jī)數(shù)相同。例如:Rnd(-1)=.224007
Rnd(1)=3.584582E-02(6)隨機(jī)數(shù)2.字符串函數(shù)(1)字符串長(zhǎng)度檢測(cè)格式:Len(字符串)功能:返回字符串中的字符的個(gè)數(shù)。例如:Len("VBScript函數(shù)")結(jié)果為:10(2)截取字符串左截?。篖eft(字符串,截取的個(gè)數(shù))
右截取:Right(字符串,截取的個(gè)數(shù))指定位置截?。篗id(字符串,截取開(kāi)始位置,截取個(gè)數(shù))2.字符串函數(shù)
例如:
Left("VBScript函數(shù)有哪些",3)結(jié)果為:VBSRight("VBScript函數(shù)有哪些",3)結(jié)果為:有哪些
Mid("VBScript函數(shù)有哪些",5)結(jié)果為:ript函數(shù)有哪些
Mid("VBScript函數(shù)有哪些",5,5)結(jié)果為:ript函(3)刪除空格左邊空格:Lrtim(字符串)
右邊空格:Rtrim(字符串)
兩端空格:Trim(字符串)
例如:
Lrtim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”
Rtrim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”
Trim("VBScript函數(shù)")結(jié)果為:“VBScript函數(shù)”例如:(1)返回系統(tǒng)當(dāng)前的日期及時(shí)間:Now()(2)返回系統(tǒng)當(dāng)前的日期:Date()
返回系統(tǒng)當(dāng)前日期中的年份:Year(date)
返回系統(tǒng)當(dāng)前日期中的月份:Month(date)
返回系統(tǒng)當(dāng)前日期中的日期:Day(date)
返回系統(tǒng)當(dāng)前日期中的星期數(shù):Weekday(date[,start])(3)返回系統(tǒng)當(dāng)前的時(shí)間:Time()
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Hour(time)
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Minute(time)
返回系統(tǒng)當(dāng)前的時(shí)間中的小時(shí)數(shù):Second(time)
例如:
Document.write(Date)結(jié)果為:2008-8-20Document.write(Time)結(jié)果為:22:16:26Document.write(Now)結(jié)果為:2008-8-2022:16:26
【例4.3】在頁(yè)面中顯示系統(tǒng)當(dāng)前的時(shí)間。腳本程序代碼如下:
<%=now%>3.日期函數(shù)(1)返回系統(tǒng)當(dāng)前的日期及時(shí)間:Now()3.日期函數(shù)4.?dāng)?shù)據(jù)類型轉(zhuǎn)換函數(shù)
(1)數(shù)字轉(zhuǎn)換成字符串格式:Str(<數(shù)值表達(dá)式>)
功能:將數(shù)值表達(dá)式表示的數(shù)字轉(zhuǎn)換成字符串。例如:Str(100)結(jié)果為:“100”(2)字符串轉(zhuǎn)換成數(shù)字格式:Val(<字符串表達(dá)式>)
功能:將字符串表達(dá)式表示的字符串內(nèi)的字符型數(shù)字轉(zhuǎn)換成數(shù)值型數(shù)字。例如:Val("123清華大學(xué)")結(jié)果為:123(3)字符轉(zhuǎn)換成字符代碼格式:Asc(<字符串表達(dá)式>)
功能:返回一個(gè)整型數(shù),代表字符串表達(dá)式表示的字符串首字母的字符代碼。例如:Asc("a")結(jié)果為:97(即小寫字符a的ASCII碼)(4)字符代碼轉(zhuǎn)換成字符格式:Chr(<字符代碼>)
功能:返回指定的字符代碼相關(guān)的字符。例如:Chr(97)結(jié)果為:a(即在ASCII碼中的小寫字符a)4.?dāng)?shù)據(jù)類型轉(zhuǎn)換函數(shù)(1)數(shù)字轉(zhuǎn)換成字符串5.其他函數(shù)
(1)InputBox函數(shù)格式:Inputbox("提示信息")
功能:用于產(chǎn)生一個(gè)接收用戶輸入信息的輸入框。【例4.4】設(shè)計(jì)一個(gè)InputBox輸入框,用于接收并判斷用戶輸入的密碼內(nèi)容。腳本程序代碼如下:
<scriptlanguage="vbscript">
Dimaa
password="123456"
aa=inputbox("請(qǐng)輸入密碼")
Dowhileaa<>password
aa=inputbox("密碼不正確,請(qǐng)重新輸入!")
Loop
document.write("密碼正確,進(jìn)入頁(yè)面!")</script>
5.其他函數(shù)(1)InputBox函數(shù)(2)MsgBox函數(shù)格式:MsgBox("提示信息,[數(shù)值]")
功能:用來(lái)產(chǎn)生一個(gè)選擇框,等待用戶做出選擇?!纠?.5】設(shè)計(jì)一個(gè)MsgBox選擇框,用于用戶確認(rèn)所選擇的信息。腳本程序代碼如下:
<scriptlanguage="vbscript">
dimcc
cc=msgbox("您選擇的是A類產(chǎn)品,確認(rèn)購(gòu)買嗎?",3)
</script>(2)MsgBox函數(shù)4.3VBScript常用控制結(jié)構(gòu)
4.3.1選擇結(jié)構(gòu)1.lf…then…Else…Endif語(yǔ)句格式:if<條件>then[語(yǔ)句1]Else[語(yǔ)句2]endif2.lf…Elself…Endif語(yǔ)句格式:if<條件1>then[語(yǔ)句1][elseif<條件2>then][語(yǔ)句2]
……[else][語(yǔ)句n]endif4.3VBScript常用控制結(jié)構(gòu)4.3.1選擇結(jié)構(gòu)3.Selectcase…Endselect語(yǔ)句
格式:selectcase<測(cè)試表達(dá)式>case<測(cè)試表達(dá)式1>[語(yǔ)句1]case<測(cè)試表達(dá)式2>[語(yǔ)句2]
……caseelse[語(yǔ)句n]endselect3.Selectcase…Endselect語(yǔ)句4.3.2循環(huán)結(jié)構(gòu)1.Do…Loop語(yǔ)句
格式:
Dowhile<條件>[語(yǔ)句1][exitdo][語(yǔ)句2]Loop4.3.2循環(huán)結(jié)構(gòu)2.While…Wend語(yǔ)句
格式:While<條件>[語(yǔ)句]Wend3.For…Next語(yǔ)句
格式:For<循環(huán)變量=初值>To<終值>[step步長(zhǎng)][語(yǔ)句1][exitfor][語(yǔ)句2]Next2.While…Wend語(yǔ)句4.4VBScript對(duì)象和事件
4.4.1對(duì)象和事件的概念VBScript采用的是面向?qū)ο?、事件?qū)動(dòng)編程機(jī)制。對(duì)象:從面向?qū)ο蟪绦蛟O(shè)計(jì)的角度來(lái)看,對(duì)象是具有屬性和方法的實(shí)體。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)機(jī)拖車出售合同范例
- 農(nóng)村建房拆遷合同范例
- 買賣門面付款合同范例
- 做槽鋼合同范例
- led路燈設(shè)計(jì)合同范例
- 光氧環(huán)保合同范例
- 光伏 安裝合同范例
- 二手車直接買賣合同范例
- 企業(yè)資產(chǎn)收購(gòu)合同范例
- 上海消防施工合同范例
- 污水處理廠安全教育培訓(xùn)
- 護(hù)理工作血液透析操作規(guī)范
- Unit+6+The+Admirable+Lesson+2+History+makers 高一英語(yǔ)北師大版(2019)必修第二冊(cè)
- 設(shè)計(jì)變更流程圖
- 學(xué)校消防防火月檢查記錄表
- 外墻水包砂施工方案模板
- 無(wú)犯罪記錄證明申請(qǐng)表
- 聚酯生產(chǎn)技術(shù) 聚酯工藝技術(shù)
- 2023年四川省綿陽(yáng)市中考語(yǔ)文試卷真題(含答案)
- 新大象版三年級(jí)下冊(cè)科學(xué)第二單元《電與我們的生活》全部課件(共5課時(shí))
- 混床計(jì)算書(新)
評(píng)論
0/150
提交評(píng)論