网站设计教程之vbscript.docx
- 文档编号:30659497
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:19
- 大小:21.39KB
网站设计教程之vbscript.docx
《网站设计教程之vbscript.docx》由会员分享,可在线阅读,更多相关《网站设计教程之vbscript.docx(19页珍藏版)》请在冰豆网上搜索。
网站设计教程之vbscript
网页设计之VBScript
VBScript简介
VBScript是一种脚本语言,可以用于微软IE浏览器的客户端脚本和微软IIS(InternetInformationService)的服务器端脚本。
VBScript是微软编程语言VisualBasic家族中的一个成员。
如果你熟悉微软的VisualBasic或者VisualBasicforApplications,你会很快就熟悉VBScript。
简单的VBScript入门示例
现在我们就写一个简单的VBScript的例子。
你会看到一个消息框,在此行文字显示之后弹出。
MsgBox("Hello,World!
")
在网页中插入VBSscript语句,应使用其中的为VBScript语句。
......
在参考别人的VBScript代码时,你也许会看到里的代码是VBScript。
其中language这个属性在W3C的HTML标准中,已不再推荐使用。
VBScript位置
VBScript程序可以写在:
网页的
里网页的
里VBScript在Head中
以下是一个VBScript代码放在Head中的示例:
MsgBox("Hello,World!
")
你会看到一个消息框,在此行文字之前显示。
VBScript在Body中
以下是一个VBScript代码放在Body中的示例:
你会看到一个消息框,在此行文字显示之后弹出。
MsgBox("Hello,World!
")
VBScript可以放在网页的任何地方(Body或Head)中。
不过最好尽可能将所有的脚本代码放在Head部分里,以使所有脚本代码集中放置。
而且可以确保调用脚本代码之前,所有的脚本代码都已经被读取并解码。
变量
VBScript变量
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址存储脚本运行时可能更改的程序信息。
例如,可以创建一个名为ClickCount的变量来存储用户单击网页上某个对象的次数。
使用变量并不需要了解变量在计算机内存中的地址,重要的在于可以引用变量名可以查看或更改变量的值。
在VBScript中只有一个基本数据类型,即Variant,因此所有变量的数据类型都是Variant。
声明变量
在使用一个变量之前,首先要声明这个变量。
VBScript里,使用Dim,Public,Private来声明变量。
如:
Dima
你也可以同时声明多个变量,使用逗号分隔变量。
如:
Dima,b,c,d
以下是个简单的示例:
dimname
name="
document.write(name)
给变量赋值
给变量赋值的表达式为:
变量在表达式左边,要赋的值在表达式右边。
如:
b=30
VBScript变量命名规则
第一个字符必须是字母。
不能包含句号(.)字符。
长度不能超过255个字符。
在被声明的作用域内必须唯一。
标量变量(ScalarVariables)和数组变量(ArrayVariables)
多数情况下,只需为声明的变量赋一个值。
只包含一个值的变量被称为标量变量(ScalarVariables)。
但有些时候,将多个相关值赋给同一个变量会使程序更加简便,因此可以创建一个包含一系列值的变量,称为数组变量(ArrayVariables)。
数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号()。
下面的例子表示声明了一个包含11个元素的一维数组:
DimA(10)
虽然括号中显示的数字是10,但由于在VBScript中所有数组下标都是基于0的,所以这个数组实际上包含0到10的11个元素。
在基于0的数组中,数组元素的数目总是等于括号中显示的数目加1。
用数组变量名称加上小括号,小括号里面写数组元素的下标,就可以引用数组中的某个特定的元素。
如给下标为0的数组元素赋值:
A(0)=10
下面的VBScript代码示例主要功能有两部分:
给arSites(3)这个数组变量的每个元素赋值;
依次显示该数组变量的每个元素值。
dimi,arSites(3)
arSites(0)="网页教程"
arSites
(1)="学院图库"
arSites
(2)="学院书库"
arSites(3)="魔兽世界"
fori=0to3
document.write(arSites(i)&"
")
next
文章来自:
运算符
VBScript运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。
算术运算符
运算符符号运算符描述
^求幂,计算数的指数次方
-负号
*乘
/除
\两个数相除并返回以整数形式表示的结果
Mod两个数值相除并返回其余数
+加
-减
连接运算符
运算符符号运算符描述
&字符串连接
比较运算符
运算符符号运算符描述
=等于
<>不等于
<小于
>大于
<=小于等于
>=大于等于
Is比较两个对象引用变量
逻辑运算符
运算符符号运算符描述
Not非
And与
Or或
Xor异或
Eqv等价
Imp隐含
运算符的优先级
当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。
可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。
运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。
但是,在括号中仍遵循标准运算符优先级。
当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。
所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。
算术运算符和逻辑运算符的优先级如上所示。
当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。
同样当加与减同时出现在一个表达式中时,按从左到右的顺序计算加、减运算符。
字符串连接(&)运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。
Is运算符是对象引用比较运算符。
它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。
文章来自:
条件语句
使用VBScript条件语句控制程序流程
在一般情况下,程序语句的执行是按照其书写顺序来执行的。
前面的代码先执行,后面的代码后执行。
但是这种简单的自上而下的单向流程只适于用一些很简单的程序。
大多数情况下,需要根据逻辑判断来决定程序代码执行的优先顺序。
要改变程序代码执行的先后顺序,任何编程语言都需要用到条件语句和循环语句。
这一节我们主要介绍条件语句。
VBScript条件语句有:
If...Then...Else条件语句
SelectCase条件语句
使用If...Then...Else条件语句进行判断
条件为True时运行语句
当If条件为True时,即当符合If条件时,执行If至EndIf之间的脚本。
下面是个简单示例,请注意此例省略了关键字Else:
vMon=Month(Date)
'Date函数返回当前系统日期,Month函数返回所给日期的月份数。
ifvMon=5then
document.write("这个月是5月份。
")
endif
演示示例
条件为True和False时分别运行某些语句
可以使用If...Then...Else语句定义两个可执行语句块:
条件为True时运行某一语句块,条件为False时运行另一语句块。
vMon=Month(Date)
'Date函数返回当前系统日期,Month函数返回所给日期的月份数。
ifvMon>=3orvMon<11then
document.write("天气好,要出去玩耍。
")
else
document.write("天气冷,要睡懒觉。
")
endif
演示示例
对多个条件进行判断
If...Then...Else语句的一种变形允许你从多个条件中选择,即添加一个或多个ElseIf子句以扩充If...Then...Else语句的功能,使你可以控制基于多种可能的程序流程。
例如:
vDay=Weekday(Date)
'Date函数返回当前系统日期
'Weekday函数返回代表一星期中某天的整数。
缺省以星期天为第一天,返回值为1。
ifvDay=6then
document.write("总算熬到星期五了。
")
elseifvDay>1andvDay<6then
document.write("明天要上班,想想就烦。
")
else
document.write("哈哈,周末啦!
")
endif
演示示例
可以添加任意多个ElseIf子句以提供多种选择。
使用多个ElseIf子句经常会变得很累赘。
在多个条件中进行选择的更好方法是使用SelectCase语句。
使用SelectCase条件语句进行判断
SelectCase结构提供了If...Then...ElseIf结构的一个变通形式,可以从多个语句块中选择执行其中的一个。
SelectCase语句提供的功能与If...Then...Else语句类似,但是可以使代码更加简练易读。
SelectCase结构在其开始处使用一个只计算一次的简单测试表达式。
表达式的结果将与结构中每个Case的值比较。
如果匹配,则执行与该Case关联的语句块,示例代码如下:
vDay=Weekday(Date)
'Date函数返回当前系统日期
'Weekday函数返回代表一星期中某天的整数。
缺省以星期天为第一天,返回值为1。
SelectCasevDay
Case1
document.write("今天是星期天。
")
Case2
document.write("今天是星期一。
")
Case3
document.write("今天是星期二。
")
Case4
document.write("今天是星期三。
")
Case5
document.write("今天是星期四。
")
Case6
document.write("今天是星期五。
")
Caseelse
document.write("今天是星期六。
")
endselect
演示示例
请注意SelectCase结构只计算开始处的一个表达式(只计算一次),而If...Then...ElseIf结构计算每个ElseIf语句的表达式,这些表达式可以各不相同。
仅当每个ElseIf语句计算的表达式都相同时,才可以使用SelectCase结构代替If...Then...ElseIf结构。
文章来自:
循环语句
使用VBScript循环语句
循环用于重复执行一组语句。
循环可分三类:
在条件变为False之前重复执行语句。
在条件变为True之前重复执行语句。
按照指定的次数重复执行语句。
在VBScript中可使用下列循环语句:
Do...Loop:
当(或直到)条件为True时循环。
While...Wend:
当条件为True时循环。
For...Next:
指定循环次数,使用计数器重复运行语句。
ForEach...Next:
对于集合中的每项或数组中的每个元素,重复执行一组语句。
使用Do循环语句
可以使用Do...Loop语句多次(次数不定)运行语句块。
当条件为True时或条件变为True之前,重复执行语句块。
当条件为True时重复执行语句
While关键字用于检查Do...Loop语句中的条件。
有两种方式检查条件:
在进入循环之前检查条件(DoWhile...Loop);或者在循环至少运行完一次之后检查条件(Do...LoopWhile)。
DoWhile...Loop示例:
SubChkFirstWhile()
Dimcounter,myNum
counter=0
myNum=20
DoWhilemyNum>10
myNum=myNum-1
counter=counter+1
Loop
MsgBox"循环重复了"&counter&"次。
"
EndSub
CallChkFirstWhile
演示示例
Do...LoopWhile示例:
SubChkLastWhile()
Dimcounter,myNum
counter=0
myNum=9
Do
myNum=myNum-1
counter=counter+1
LoopWhilemyNum>10
MsgBox"循环重复了"&counter&"次。
"
EndSub
CallChkLastWhile
演示示例
重复执行语句直到条件变为True
Until关键字用于检查Do...Loop语句中的条件。
有两种方式检查条件:
在进入循环之前检查条件(DoUntil...Loop);或者在循环至少运行完一次之后检查条件(Do...LoopUntil)。
只要条件为False,就会进行循环。
DoUntil...Loop示例:
SubChkFirstUntil()
Dimcounter,myNum
counter=0
myNum=20
DoUntilmyNum=10
myNum=myNum-1
counter=counter+1
Loop
MsgBox"循环重复了"&counter&"次。
"
EndSub
CallChkFirstUntil
演示示例
Do...LoopUntil示例:
SubChkLastUntil()
Dimcounter,myNum
counter=0
myNum=1
Do
myNum=myNum+1
counter=counter+1
LoopUntilmyNum=10
MsgBox"循环重复了"&counter&"次。
"
EndSub
CallChkLastUntil
演示示例
退出循环
ExitDo语句用于退出Do...Loop循环。
因为通常只是在某些特殊情况下要退出循环(例如要避免死循环),所以可在If...Then...Else语句的True语句块中使用ExitDo语句。
如果条件为False,循环将照常运行。
在下面的示例中,myNum的初始值将导致死循环。
If...Then...Else语句检查此条件,防止出现死循环。
SubExitExample()
Dimcounter,myNum
counter=0
myNum=9
DoUntilmyNum=10
myNum=myNum-1
counter=counter+1
IfmyNum<10ThenExitDo
Loop
MsgBox"循环重复了"&counter&"次。
"
EndSub
CallExitExample
演示示例
使用While...Wend循环语句
While...Wend语句是为那些熟悉其用法的用户提供的。
但是由于While...Wend缺少灵活性,所以建议最好使用Do...Loop语句。
使用For...Next循环语句
For...Next语句用于将语句块运行指定的次数。
在循环中使用计数器变量,该变量的值随每一次循环增加或减少。
以下是个简单示例:
Dimi
fori=0to10
document.write("Number"&i&"
")
next
演示示例
关键字Step用于指定计数器变量每次增加或减少的值。
在下面的示例中,计数器变量j每次加2。
循环结束后,total的值为2、4、6、8和10的总和。
SubTwosTotal()
Dimj,total
Forj=2To10Step2
total=total+j
Next
MsgBox"总和为"&total&"。
"
EndSub
CallTwosTotal
演示示例
要使计数器变量递减,可将Step设为负值。
此时计数器变量的终止值必须小于起始值。
在下面的示例中,计数器变量myNum每次减2。
循环结束后,total的值为16、14、12、10、8、6、4和2的总和。
SubNewTotal()
DimmyNum,total
FormyNum=16To2Step-2
total=total+myNum
Next
MsgBox"总和为"&total&"。
"
EndSub
ExitFor语句用于在计数器达到其终止值之前退出For...Next语句。
因为通常只是在某些特殊情况下(例如在发生错误时)要退出循环,所以可以在If...Then...Else语句的True语句块中使用ExitFor语句。
如果条件为False,循环将照常运行。
文章来自:
过程
在VBScript中,过程分为两类:
Sub过程和Function过程。
Sub过程及其调用
Sub过程是包含在Sub和EndSub语句之间的一组VBScript语句,执行操作但不返回值。
Sub过程可以使用参数(由调用过程传递的常数、变量或表达式)。
如果Sub过程无任何参数,则Sub语句必须包含空括号()。
下面的代码示例是一个不带任何参数的Sub过程,弹出一个消息框,显示"欢迎来到站长网站长学院网页教程网站
SubmyProc()
msgbox("欢迎来到站长网站长学院网页教程网站
EndSub
演示示例
下面的代码示例是一个带有两个参数的Sub过程,弹出一个消息框,显示两个参数的乘积值。
SubmyMulti(no1,no2)
MsgBox(no1*no2)
EndSub
演示示例
调用Sub过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。
另外一种调用方法,就是使用Call语句,但如果使用了Call语句,则必须将所有参数包含在括号之中。
下面的示例显示了调用myMulti过程的两种方式。
一种使用Call语句;另一种则不使用。
两种方式效果相同。
CallmyMulti(8,9)
myMulti8,9
不用Call语句调用Sub过程的演示示例
用Call语句调用Sub过程的演示示例
注意:
当不使用Call语句进行调用时,括号被
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网站 设计 教程 vbscript