




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VBScript腳本語言
3.1VBScript概述
3.1.1什麼是
VBScriptVBScript的全稱為MicrosoftVisualBasicScriptingEdition,是MicrosoftVisualBasic語言的一個子集,它並不是一個完整的程式設計語言,僅包含語言中的一些基本功能。VBScript的最大優點是:用純文本建立、直接包含在HTML文檔中、編輯和修改都十分便利。VBScript將靈活的腳本語言應用於廣泛的領域,包括MicrosoftInternetExplorer中的Web客戶端腳本和MicrosoftInternetInformationServer中的Web伺服器端腳本。在HTML中嵌入VBScript代碼,既可開發出Web客戶端的腳本程式,也可開發出Web伺服器端的腳本程式。3.1.2用VBScript開發客戶端腳本
1.客戶端腳本示例<html><head><title>客戶端腳本舉例</title><SCRIPTLANGUAGE="VBScript"><!--MsgBox"世界你好!"&VbCrLf&"今天是:"&Date--></SCRIPT></head><body></body></html>
2.運行的結果圖3-1客戶端腳本舉例3.1.3用VBScript開發伺服器端腳本
1.伺服器端腳本示例<%@LANGUAGE="VBScript"%><html><head><title>伺服器端腳本舉例</title></head><body><%Fori=3to6%><fontsize=<%=i%>>傳承文明!開拓進取!<br></font><%Next%></body></html>
2.混合使用
HTML和腳本命令示例1:
<%
DimdtmHourdtmHour=Hour(Now())IfdtmHour<12ThenstrGreeting="早上好!"
Else
strGreeting="您好!"
EndIf%><%=strGreeting%>
示例2:
<%
DimdHourdHour=Hour(Now())IfdHour<12Then%>
早上好!<%Else%>
您好!<%EndIf%>
示例3:
<%
DimdHourdHour=Hour(Now())IfdHour<12ThenResponse.Write"早上好!"
Else Response.Write"您好!"
EndIf%>3.1.4VBScript語句書寫規則
l
VBScript代碼編寫的腳本程式由一條或多條語句組成,語句中可以包括命令詞、常量、變數、函數、運算符、運算式等。l
編寫客戶端腳本時,注釋語句應被包含在<!--和-->之間。編寫伺服器端腳本時,注釋語句由單引號“'”開頭,在其後可以書寫任何注釋文字,在程式運行時並不執行。l
VBScript語句以行的形式編寫,一條長語句在一行中寫不下時,可在每行的尾部添加下劃線“_”而寫在多行上。l
VBScript語句中的英文字母不區分大小寫。l
VBScript腳本語言不是一種獨立的語言,必須依附HTML而存在。l
VBScript腳本代碼是一種純文本,可以用任何一種文本編輯器編寫。3.2VBScript語法基礎
3.2.1VBScript數據類型
VBScript只有一種稱為Variant的數據類型。Variant是一種特殊的可變數據類型,根據使用的方式,它可以包含不同類別的資訊。Variant包含的數據子類型如下表所示。
子類型描述Empty未初始化的Variant。對於數值變數,值為0;對於字串變數,值為零長度字串("")Null不包含任何有效數據的VariantBoolean包含True
或FalseByte包含0到255之間的整數Integer包含-32,768到32,767之間的整數Currency包含-922,337,203,685,477.5808到922,337,203,685,477.5807的貨幣格式數據Long包含-2,147,483,648到2,147,483,647之間的整數Single單精確度浮點數,負數範圍從-3.402823E38到-1.401298E-45,正數範圍從1.401298E-45到3.402823E38Double雙精度浮點數,負數範圍從-1.79769313486232E308到-4.94065645841247E-324,正數範圍從4.94065645841247E-324到1.79769313486232E308Date(Time)表示日期的數字,日期範圍從西元100年1月1日到9999年12月31日String變長型字串,最大長度可為20億個字元Object包含對象Error包含錯誤號3.2.2VBScript常量
在VBScript中,常量是具有一定含義的名稱,用於代替數字或字串,其值從不改變。VBScript定義了許多固有常量,例如:Empty、Null、True、False等。用戶也可以使用Const語句創建名稱具有一定含義的字元型或數值型常量,並給它們賦原值。例如:ConstMyString="這是一個字串。"
ConstMyAge=28ConstMyBirthDay=#5-18-98#3.2.3VBScript變數
1.變數的聲明示例:DimDegreesDimTop,Bottom,Left,RightTop=100
Bottom=1802.變數命名規則l
變數名只能由英語字母、數字和下劃線組成。l
變數名第一個字元必須是英語字母。l
變數名中不能包含嵌入的句點。l
變數名長度不能超過255個字元。l
變數名不能和VBScript的保留字同名。l
變數名在被聲明的作用域內必須唯一。3.變數的作用域與存活期變數的作用域由聲明它的位置決定。如果在過程中聲明變數,則只有該過程中的代碼可以訪問或更改變數值,此時變數具有局部作用域並被稱為過程級變數。如果在過程之外聲明變數,則該變數可以被腳本中所有過程所識別,稱為Script級變數,具有腳本級作用域。變數存在的時間稱為存活期。Script級變數的存活期從被聲明的一刻起,直到腳本運行結束。對於過程級變數,其存活期僅是該過程的運行期間,該過程運行結束後,過程級變數隨之消失。4.給變數賦值示例:bb=150*4
xm="Tony"5.標量變數和數組變數多數情況下,只需為所聲明的變數賦一個值,只包含一個值的變數被稱為標量變數。然而,有時把多個相關值賦給一個變數更為方便,因此可以創建包含一系列值的變數,稱為數組變數。數組變數和標量變數以相同的方式聲明,唯一的區別是聲明數組變數時變數名後面帶有括弧。數組定義與使用示例:Dima(10)a(2)=324SomeVariable=a(8)二維數組定義示例:
DimMyTable(5,10)3.2.4VBScript運算符算術運算符比較運算符邏輯運算符描述符號描述符號描述符號求冪^等於=邏輯非Not負號-不等於<>邏輯與And乘*小於<邏輯或Or除/大於>邏輯異或Xor整除\小於等於<=邏輯等價Eqv求餘Mod大於等於>=邏輯隱含Imp加+對象引用比較Is
減-
字串連接&
3.3VBScript輸入與輸出
VBScript語言以對話框的形式提供各種數據的輸入與輸出功能。其中,InputBox()函數提供一個供用戶輸入數據的對話框;MsgBox()函數或MsgBox語句則提供一個輸出指定數據的對話框。需要注意的是:這裏介紹的輸入、輸出函數和語句只能在流覽器端腳本中使用,而不能在伺服器端腳本中使用。3.3.1輸入函數
InputBox()格式:變數
=InputBox(prompt[,title][,default][,xpos][,ypos])示例:
<html><head><title>InputBox函數舉例</title><scriptLANGUAGE="VBScript"><!--Name=InputBox("請輸入貴公司名稱:","輸入舉例")
MsgBox"您所在的公司是:"&Name--></script></head><body></body></html>3.3.2輸出函數
MsgBox()
格式:變數
=MsgBox(prompt[,buttons][,title])示例:
<html><head><title>MsgBox函數舉例</title><scriptLANGUAGE="VBScript"><!--Msg1=MsgBox("此檔已存在,覆蓋嗎?",3+32+0)
Msg2=MsgBox("不允許對多個變數賦值!",VbCritical)Msg3=MsgBox("數據類型不匹配!",2+48+256)
Msg4=MsgBox("已完成對數據的複製。",VbOKOnly+VbInformation)--></script></head><body></body></html>
3.3.3輸出語句
MsgBox
格式:MsgBoxprompt[,buttons][,title]示例:
<html><head><title>MsgBox語句舉例</title><scriptLANGUAGE="VBScript"><!--MsgBox"此檔已存在,覆蓋嗎?",3+32+0
MsgBox"不允許對多個變數賦值!",VbCriticalMsgBox"數據類型不匹配!",2+48+256
MsgBox"已完成對數據的複製。",VbOKOnly+VbInformation
--></script></head><body></body></html>
3.4VBScript內置函數
3.4.1日期時間函數函數功能Now返回當前系統日期與時間Date返回當前系統日期Time返回當前系統時間Day()返回指定日期中的幾號,其值為1到31之間的整數,包括1和31Month()返回指定日期的月份,其值為0到12之間的一個整數,包括0和12Year()返回指定日期的年份,為一個4位整數WeekDay()返回一個1到7之間的整數,代表一周中的第幾天Hour()返回一個0到23之間的整數,包括0和23,代表一天中的小時值Minute()返回0到59之間的一個整數,包括0和59,代表一個小時中的分鐘值second()返回一個0到59之間的整數,包括0和59,代表一分鐘內的多少秒3.4.2數學運算函數函數功能Abs()返回指定數值的絕對值Sqr()返回指定數值的算術平方根Int()返回不大於指定數值的最大整數fix()返回指定數值的整數部分Sgn()返回1、0或–1,分別表示指定數為正數、零或負數Rnd()返回0到1之間的一個亂數3.4.3字元處理函數函數功能Asc()返回指定字串中第1個字元對應的ASCII碼Chr()返回指定ASCII碼值所對應的字元UCase()將指定字串中各個字母轉換為大寫字母後返回LCase()將指定字串中各個字母轉換為小寫字母後返回Len()返回指定字串中字元的個數InStr()返回第二個字串參數在第一個字串參數中存在的起始位置值,不存在時則返回零值Left()返回字串中從左端開始計的指定個數的字元Right()返回字串中從右端開始計的指定個數的字元Mid()截取指定字串從第n個字元開始的k個字元,n值由第二個參數指定,k值由第三個參數指定Space()返回一個由指定數目的空格組成的字串3.4.4數據類型判別函數函數功能IsEmpty()判斷指定的變數或運算式是否被設定為Empty,返回一個邏輯值IsNumeric()判斷指定的變數或運算式是否是一個數值,返回一個邏輯值IsDate()判斷指定的變數或運算式是否是一個日期或時間,返回一個邏輯值IsNull()判斷指定的變數或運算式是否是一個空值(Null),返回一個邏輯值IsArray()判斷指定的變數或運算式是否是一個數組,返回一個邏輯值IsObject()判斷指定的變數或運算式是否是一個對象變數,返回一個邏輯值3.4.5數據類型轉換函數函數功能Cint()將指定運算式轉換為一個整數CBool()將指定運算式轉換為一個邏輯值,若運算式為0返回FALSE,若運算式不為0返回TRUECCur()將指定運算式轉換為一個貨幣值CDate()將指定運算式轉換為一個日期時間類型數據CDbl()將指定運算式轉換為一個雙精度數據CLng()將指定運算式轉換為一個長整型數據CSng()將指定運算式轉換為一個單精確度數據CStr()將指定運算式轉換為一個字串數據
3.5VBScript流程控制3.5.1If...Then...Else語句1.條件為
True時執行單行語句格式:If條件
Then語句說明:整條語句寫在一行上,其中不包含關鍵字Else。執行過程為:當條件成立時,執行Then後的語句;條件不成立時,跳過本語句執行本語句的後續語句。
2.條件為
True時執行多行語句格式:If條件
Then
語句序列
EndIf
說明:允許在Then後換行寫多條語句,其中也沒有關鍵字Else,要求在最後有一條EndIf語句表示整個條件結構的結束。當條件成立時,執行Then與EndIf之間的若干條語句;條件不成立時,則跳過本語句結構執行後續語句。3.條件為
True和
False時分別執行指定語句格式:If條件
Then
語句序列1
Else
語句序列2
EndIf
說明:本格式包含Else語句,且Else應單獨佔據一行。當條件成立時,執行Then與Else之間的語句序列1;條件不成立時,則執行Else與EndIf之間的語句序列2。4.對多個條件進行判斷格式:If條件1Then
語句塊1
ElseIf條件2
語句塊2
ElseIf條件3
語句塊3
……
[Else
語句塊n+1]
EndIf
說明:本語句結構可以處理多個不同的條件,根據對條件順序判斷的結果執行首先成立的條件所對應的一個語句塊。執行過程為:當條件1成立時,執行對應的語句塊1;若條件1不成立而條件2成立,則執行對應的語句塊2;若條件1和2都不成立而條件3成立,則執行對應的語句塊3;以此類推。3.5.2Select...Case語句格式:SelectCase運算式
Case值1
語句塊1
Case值2
語句塊2
……
……
[CaseElse
語句塊n+1]
EndSelect
說明:SelectCase語句結構僅在其開始處使用一個只計算一次的簡單測試運算式。該運算式的結果將依次與整個結構中每個Case語句的值進行比較,如果匹配即執行與該Case對應的語句塊。3.5.3DO...Loop迴圈1.DoWhile...Loop迴圈格式:DoWhile條件
語句塊
Loop
說明:首先判斷DoWhile語句中的條件成立與否,不成立則不執行指定的語句塊,直接轉去執行Loop後的語句。若條件成立,則反復執行DOWhile與Loop之間的語句塊,每執行一遍後就再對條件判斷一次,一旦條件不成立就結束迴圈轉去執行Loop後的語句。2.DoUntil...Loop迴圈格式:DoUntil條件
語句塊
Loop
說明:首先判斷DoUntil語句中的條件成立與否,不成立則執行DOUntil與Loop之間的語句塊;若條件成立,則直接轉去執行Loop後的語句。每執行一遍後就再對條件判斷一次,一旦條件成立就結束迴圈轉去執行Loop後的語句。3.Do...LoopWhile迴圈格式:Do
語句塊
LoopWhile條件說明:首先執行一遍迴圈,然後再判斷LoopWhile語句中的條件成立與否,條件成立就再次執行DO與Loop之間的語句塊;條件不成立就結束迴圈轉去執行Loop後的語句。4.Do...LoopUntil迴圈格式:Do
語句塊
LoopUntil條件說明:首先執行一遍迴圈,然後再判斷LoopUntil語句中的條件成立與否,條件不成立就再次執行DO與Loop之間的語句塊;而條件成立就結束迴圈轉去執行Loop後的語句。3.5.4While...Wend迴圈格式:While條件
語句塊
Wend
說明:每當遇到While語句時,首先判斷條件是否成立,如果成立就執行迴圈,不成立則退出迴圈。3.5.5For...Next迴圈格式:For迴圈變數
=初始值
To終止值
[Step步長值]
語句塊
Next
說明:首先將初始值賦給指定的迴圈變數,然後判斷其值是否超過終止值,不超過即執行循環體,超過則不執行循環體。在執行完循環體中的若干條語句後會遇到迴圈終端語句Next,此時系統將自動給迴圈變數增加一個步長值,然後再判斷迴圈變數的當前值是否超過終值,不超過將再次執行循環體,超過則結束迴圈轉去執行Next後的語句。3.5.6ForEachIn...Next迴圈格式:ForEach變數
In集合或數組名
語句序列
Next
說明:ForEachIn....Next語句無需指定迴圈結束的條件,會自動按集合或數組元素的個數重複執行指定的操作。3.5.7迴圈語句的嵌套
VBScript允許在一個迴圈結構的循環體內包含另一個迴圈語句結構,即允許迴圈嵌套。對於前面所介紹的各種迴圈語句結構,不僅自身可以實行迴圈的嵌套,而且相互之間也可以實行迴圈嵌套。下麵的例子是利用For…Next雙重迴圈來顯示乘法九九表。
1.
<HTML>2.
<HEAD><TITLE>迴圈語句嵌套舉例</TITLE>3.
<SCRIPTLANGUAGE="VBScript"></SCRIPT>4.
</HEAD>5.
<BODY>6.
<TABLEBorder=2>7.
<%8.
'利用雙重迴圈顯示乘法九九表9.
Dimi,j,Str10.
Fori=1To911.
Str="<tr>"12.
Forj=1To913.
Str=Str&"<td>"&i&"*"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版监理人员劳动合同
- 二零二五版委派保安服务合同
- 二零二五兼并与收购融资合同范例
- 二零二五影视公司演员聘用合同
- 二零二五股东分红协议书股权分红协议书
- 股份转让协议模板二零二五年
- 辅导班家长协议二零二五年
- 小学生防溺水直播课件教学
- 关于教师培训
- 2025物业管理合同范本-版-电子档
- (正式版)HGT 22820-2024 化工安全仪表系统工程设计规范
- 农作物害虫 水稻害虫螟虫类课件
- 突发公共卫生事件流行病学-课件
- 大象版二年级科学下册 《春夏秋冬》教育教学课件
- 来料质量异常反馈单
- 中国石油大学(华东)-朱超-答辩通用PPT模板
- 建设项目安全条件和设施综合分析报告
- 基础设施维护方案说明
- 徐鹤宁老师冠军班课程笔记,价值29800,绝对经典!
- 收方管理办法
- GB19105—2003过氧乙酸包装要求
评论
0/150
提交评论