一、VBScript是什么?
VBScript脚本语言是VB语言的简化,目前这种语言广泛应用于网页和ASP程序制作。
二、编写第一个VBScript程序
使用记事本编写如下代码,保存为index.html,在这里我们之所以不使用.asp,是因为,现在我们还用不到asp。因为大部分VBScript脚本程序都是在服务器端执行的,所以不必考虑客户端使用的是什么浏览器。
<script language="vbscript"> <!-- msgbox "VBScript你好!!" --> </script>
<script language="vbscript">...</script>告诉浏览器使用的是VBScript脚本语言。
msgbox "要显示的信息" 会在浏览器中强制显示一个信息框,信息框的内容是双引号中的内容。
<!--......--> 为了防止部分浏览器无法显示VBScript脚本程序时,就将它忽略。
此程序运行的结果如下:
值得一提的是,VBScript脚本程序想要执行,需使用IE浏览器运行。使用非IE内核的浏览器是看不到效果的。
三、变量
VBScript采用不定型数据类型,即可以存储任何类型的值。
Eg:
<script language="vbs"> dim score '声明一个变量 score=80 '给变量初始化,即赋值 msgbox "我的语文成绩是:"& score '弹出信息 </script>
运行结果如下:
那我们可不可以不声明变量,直接使用呢?答案是肯定的,VBScript支持不声明变量,直接使用。
如下代码也是可行的。效果跟上图一样。其中'是注释,注释并不会执行。
<script language="vbs"> score=80 '给变量初始化,即赋值 msgbox "我的语文成绩是:"& score '弹出信息 </script>
在其它编程语言中可以将变量的声明和赋值写在一行,但在VBScript是不支持的,即程序会报错。
Eg:
<script language="vbs"> dim score=60 '声明一个变量并赋值 msgbox "我的语文成绩是:"& score '弹出信息 </script>
&符号是连字符,即将前面的字符串与后面的连在一起。
四、数组
连续的变量,变量名相同。您可以依序给它们编号,再依编号来使用它们。
与普通变量不同的是,使用数组之前一定要先声明名称。
1)dim box(9)定义声明一个 0-9 的数组
格式: dim 数组名()
Eg:
<script language="vbs"> dim num(2) box(2)=100 msgbox "数字 1=" & num(2) </script>
在上面的程序中,一共声明了3个变量,因为数组的下标是从0开始索引的。即num(0)、num(1)、num(2)
dim num(2)定义声明一个 0-2 的数组
运行结果如下:
2)redim score(4)可以重新定义一个数组
格式:redim 数组名()
当我们声明数组时,不确定它的个数,可以先声明,然后使用redim 数组名()来确定数组个数。
Eg:
<script language="vbs"> dim box() '定义一个不确定个数的数组 redim box(3)'定义一个下标为0-3的数组4个 box(0)=1 box(1)=2 box(2)=3 box(3)=4 br=chr(13)&chr(10) '换行符 msgbox box(0)&br&box(1)&br&box(2)&br&box(3) </script>
运行结果如下:
看下面的代码,你会对redim 数组名()更进一步理解。
<script language="vbs"> dim box() '定义一个不确定个数的数组 redim box(3)'定义一个下标为0-3的数组4个 box(0)=1 box(1)=2 box(2)=3 box(3)=4 br=chr(13)&chr(10) '换行符 msgbox box(0)&br&box(1)&br&box(2)&br&box(3) redim box(4) box(4)=5 msgbox box(0)&br&box(1)&br&box(2)&br&box(3)&br&box(4) </script>
运行结果如下图:
它不会保留以前的数组,如要保留需使用redim preserve 数组名(n)语句
3)redim preserve 数组名(n)保留原来的数组
Eg:
<script language="vbs"> dim box() '定义一个不确定个数的数组 redim box(3)'定义一个下标为0-3的数组4个 box(0)=1 box(1)=2 box(2)=3 box(3)=4 br=chr(13)&chr(10) '换行符 msgbox box(0)&br&box(1)&br&box(2)&br&box(3) redim preserve box(4) box(4)=5 msgbox box(0)&br&box(1)&br&box(2)&br&box(3)&br&box(4) </script>
运行结果如下:
五、常量
常量是一种不会改变的数,不会任意改变它所代表的值。
1)内置常量
换行
vbcrlf
在前面我们使用chr(13)&chr(10)来换行,VBScript里内置了一个换行符常量即vbcrlf
Eg:
<script language="vbs"> msgbox "Hello"& vbcrlf&"VBScript" </script>
效果如下:
2)自定义常量
Eg:
<script language="vbs"> const PI=3.14 '定义圆周率为常量 r=3 '半径为3 area=r*r*PI msgbox "面积为" & area </script>
运行结果如下:
前面已经说过,不会任意改变它所代表的值。如果改变了,会报错。
如下代码:
<script language="vbs"> const PI=3.14 '定义圆周率为常量 PI=3.145 r=3 '半径为3 area=r*r*PI msgbox "面积为" & area </script>
六、运算符
1)算术运算符
运算符 | 含义 | 例子 |
+ | 加法运算 | 12+3=15 |
- | 减法运算 | 12-1=11 |
* | 乘法运算 | 12*2=24 |
/ | 除法运算 | 12/3=4 |
\ | 整除 | 3\2=1 |
^ |
幂运算(指数) | 2^2=4 |
mod |
求余 | 20 mod 3=2 |
& |
字符串连接符 | "你"&"好"=你好 |
加减乘除就不需要说明了吧。
整除:即取整数部分
求余:取余数,即余数部分
Eg:
<script language="vbscript"> A=3 B=2 Msgbox "A=" & A & vbcrlf & "B=" & B & vbcrlf &_ "A+B=" & A+B & vbcrlf &_ "A-B=" & A-B & vbcrlf &_ "A*B=" & A*B & vbcrlf &_ "A/B=" & A/B & vbcrlf &_ "A\B=" & A\B & vbcrlf &_ "A mod B=" & A mod B & vbcrlf &_ "A^B=" & A ^ B & vbcrlf &_ "A&B=" & A & B </script>
当一行代码拆分时需要使用_进行连接
运行结果如下图:
2)比较运算符
比较运算符会比较两个表达式,如果比较的结果是正确的,就会返回"True (真)";如
果比较结果是错误的,就会返回"False"。例如:"10<20"就会返回 True, "10>20"就会返回
False。
符号 |
含义 |
例子 | 返回值 |
= |
等于 | 20+3=23 | True |
<> | 不等于 | 20+3<>24 | True |
< | 小于 | 20+3<20 | True |
> | 大于 | 20+3>27 | Flase |
<= | 小于等于 | 20+3<=20 | False |
>= | 大于等于 | 20+3>=20 | True |
Eg:
<script language="vbs"> msgbox 10>6 </script>
运行结果:
3)逻辑运算符
与:and
"And"是两个比较运算都正确时,才返回 True,其余都返回"False"."And"和比较运算
整理如表:
第一个表达式 |
第二个表达式 | 例子 |
返回值 |
True | True | 23>20 and 20<21 | True |
True |
False | 10>8 and 24<20 | False |
False | Ture | 30<21 and 50>40 | False |
False | False | 30<21 and 50<40 | False |
或:or
"Or"是只要有一个比较运算正确的,就返回 "True",即指只有在两个比较运算错误时,
才返回"False",其余都返回"True"。"Or"和比较运算的关系整理如表:
第一个表达式 |
第二个表达式 | 例子 |
返回值 |
True | True | 23>20 or 20<21 | True |
True |
False | 10>8 or 24<20 | True |
False | Ture | 30<21 or 50>40 | True |
False | False | 30<21 or 50<40 | False |
Eg:
<script language="vbs"> msg1="15>12 and 40>30 的值为" & (15>12 and 40>30) msg2="15>12 and 40<30 的值为" & (15>12 and 40<30) msg3="15<12 or 40>30 的值为" & (15>12 or 40>30) msg4="15<12 or 40<30 的值为" & (15<12 or 40<30) msgbox msg1 & vbcrlf & msg2 & vbcrlf & msg3 & vbcrlf & msg4 </script>
运行结果如下:
By:cnanker.net