1.VBScript基本概念

一、VBScript是什么?

VBScript脚本语言是VB语言的简化,目前这种语言广泛应用于网页和ASP程序制作。

二、编写第一个VBScript程序

使用记事本编写如下代码,保存为index.html,在这里我们之所以不使用.asp,是因为,现在我们还用不到asp。因为大部分VBScript脚本程序都是在服务器端执行的,所以不必考虑客户端使用的是什么浏览器。

<script language="vbscript">
<!--
    msgbox "VBScript你好!!"
-->
</script>

<script language="vbscript">...</script>告诉浏览器使用的是VBScript脚本语言。

msgbox "要显示的信息"    会在浏览器中强制显示一个信息框,信息框的内容是双引号中的内容。

<!--......-->    为了防止部分浏览器无法显示VBScript脚本程序时,就将它忽略。


此程序运行的结果如下:

wKiom1SWgPCgTE-BAAEEcHYwygY613.jpg

值得一提的是,VBScript脚本程序想要执行,需使用IE浏览器运行。使用非IE内核的浏览器是看不到效果的。

三、变量

VBScript采用不定型数据类型,即可以存储任何类型的值。

Eg:

<script language="vbs">
    dim score '声明一个变量
    score=80  '给变量初始化,即赋值
    msgbox "我的语文成绩是:"& score '弹出信息
</script>

运行结果如下:

wKiom1SWhKLDcLIsAAD9rmUixSs652.jpg

那我们可不可以不声明变量,直接使用呢?答案是肯定的,VBScript支持不声明变量,直接使用。

如下代码也是可行的。效果跟上图一样。其中'是注释,注释并不会执行。

<script language="vbs">
    score=80  '给变量初始化,即赋值
    msgbox "我的语文成绩是:"& score '弹出信息
</script>

在其它编程语言中可以将变量的声明和赋值写在一行,但在VBScript是不支持的,即程序会报错。

Eg:

<script language="vbs">
    dim score=60 '声明一个变量并赋值
    msgbox "我的语文成绩是:"& score '弹出信息
</script>

wKioL1SWiSGhNEc7AAFbzckOwJM172.jpg


&符号是连字符,即将前面的字符串与后面的连在一起。

四、数组

连续的变量,变量名相同。您可以依序给它们编号,再依编号来使用它们。

与普通变量不同的是,使用数组之前一定要先声明名称。

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 的数组

运行结果如下:

wKioL1SWjiuAQh2qAACu-_cLtH0890.jpg


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>

运行结果如下:

wKiom1SXoUrB6zdpAADS-GIDeuE155.jpg

看下面的代码,你会对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>

运行结果如下图:

wKiom1SX1KOx48hqAADbNOnsoO4464.jpg

wKioL1SX1UzjLBsoAADjlf4bFEQ541.jpg

它不会保留以前的数组,如要保留需使用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>

运行结果如下:

wKiom1SX1dDQG4lUAADbNOnsoO4762.jpg

wKioL1SX1qPjEyu8AADXc2sPZj4331.jpg


五、常量

常量是一种不会改变的数,不会任意改变它所代表的值。

1)内置常量

换行

vbcrlf

在前面我们使用chr(13)&chr(10)来换行,VBScript里内置了一个换行符常量即vbcrlf

Eg:

<script language="vbs">
    msgbox "Hello"& vbcrlf&"VBScript"
</script>

效果如下:

wKiom1SX17fCTtWOAADWji6VDmo506.jpg

2)自定义常量

Eg:

<script language="vbs">
const PI=3.14 '定义圆周率为常量
r=3           '半径为3
area=r*r*PI
msgbox "面积为" & area
</script>

运行结果如下:

wKiom1SX2anjtIu8AADDcDkjmfc708.jpg


前面已经说过,不会任意改变它所代表的值。如果改变了,会报错。

如下代码:

<script language="vbs">
const PI=3.14 '定义圆周率为常量
PI=3.145
r=3           '半径为3
area=r*r*PI
msgbox "面积为" & area
</script>

wKiom1SX2m6DM9RIAAFcxYE41Z0665.jpg

六、运算符

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>

当一行代码拆分时需要使用_进行连接

运行结果如下图:

wKioL1SX3r6CaSniAAEGSNUIGHs342.jpg

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>

运行结果:

wKiom1SX4YDCq5qXAAC86GBrP88118.jpg

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>

运行结果如下:

wKiom1SY753DaIdJAABcTgfmTgc079.jpg

                        By:cnanker.net


你可能感兴趣的:(VBScript基本概念)