分享

vbscript基本语法

 知识VS人生 2013-02-22

vbscript基本语法  

2012-03-27 14:07:21|  分类: 软件测试 |  标签:vbs   |字号 订阅


什么是VBScript?

VBScript的全称是Visual Basic Script,有时也简称为VBS。

VBScript是微软开发的一种脚本语言,可以看作是Visual Basic的简化版,目前这种语言广泛应用于网页和ASP程序。

与VB不同,VBScript不能生成独立的exe可执行文件,需要由其它软件解释才能运行。有许多软件支持VBScript,

比如微软IE浏览器和Office等。VBScript的局限是只能运行于Windows操作系统和基于IE的浏览器,

而JavaScript则受到所有网页浏览器的支持,因此客户端使用JavaScript的更为普遍。

基本格式

首先要强调一下,VBScript代码中一定要使用英文的标点符号——半角符号,否则代码无法运行。

半角符号一般比较窄的,大约是半个中文字符的宽度。

半角:,.?()
全角:,。?()

VBScript代码是不分大小写的。随便用大小写都行,但不要太随便了,易读即可。

可以在一个单引号')之后给代码添加注释,注释的内容不被执行。例如:

a = 1'单引号之后为注释

如果代码一行太长,想写成两行的话,要在行尾加下划线_)作续行符,例如:

a = (1 + 2 + 3) * (1 + 2 + 3)'写成两行a = (1 + 2 + 3) * _     (1 + 2 + 3)

要想把多行代码写成一行,要用冒号:)作分隔符。例如:

a = 1 b = 2 c = 3'写成一行a = 1 : b = 2 : c = 3

等号=)一般表示赋值,而不同于数学公式中的等号。例如a=25:a=30这两句代码的意思是:

a的值是25,后来a的值又变成30了;而作为数学公式,a如果已经等于25了,就不能再等于30。

VBScript的语句,初学者学会两个就够用了,If语句和For语句。

如果你对过程(Sub)函数(Function)分不清楚的话,没关系,都用函数好了。

运算符号

+-*/

\整除Mod求余数 (例如a=7\3和b=7 Mod 3,结果分别是a=2 b=1)

=等于<>不等于

>大于<小于>=大于等于<=小于等于

Not不(逻辑非)And并且(逻辑与)Or或者(逻辑或)

&字符串连接 字符串连接有时也可以用+号,但+不能直接连接数字。例如:

s = "a" & "b"'结果是s="ab"
s = "a" + "b"'结果是s="ab"
s = 1 & 2'结果是s="12"
s = 1 + 2'结果是s=3
s = "1" + "2"'结果是s="12"
算式中没有大、中、小括号之分,全部写成小括号
例如:a=[2-3*(2+5)]/6 要写成a=(2-3*(2+5))/6

变量

VBScript中变量可以不声明,直接使用。但有时不声明会出错,所以建议养成声明变量的好习惯。

声明变量的方法是在使用变量之前,加一行Dim [变量名]代码,例如:

Dim var1

声明多个变量时,使用逗号分隔变量。例如:

Dim a, b, c

变量名必须以字母开头,不能包含空格或标点符号。

(VBScript只有一个数据类型,即Variant,所以不要Dim...As,直接Dim就行了。)

Variant数据子类型

常见的Variant数据子类型有字符串(代表一串文本)、整数、小数、日期等。

字符串值一定要写在双引号中,例如:s = "How are you?"

运算时经常会需要对子类型进行转换,下面介绍几种常用的转换方法:

a = CStr(123)'把数字123转为字符串"123"
b = CSng(12.3)'把"12.3"转为小数(单精度浮点数)12.3
c = CInt(12.6)'把12.6转为整数13(四舍五入)
d = Int(12.6)'把12.6转为整数12(保留整数部分)
e = Int("&Hff")'把十六进制数0xff转为十进制255
f = Hex(255)'把十进制255数转为十六进制FF

If语句

单行的If语句格式,参考下面的例子

If a > 0 Then b = "a大于0"'意思是:如果a>0,则b="a大于0"
If a > 0 And b > 0 Then c = "ab都大于0"'意思是:如果a>0,并且b>0,则c="ab都大于0"
If a > 0 Or b > 0 Then c = "a或b大于0"'意思是:如果a>0,或者b>0,则c="a或b大于0"

如果Then后面有多行,结尾处要写End If

Ifa > 0 Then 
b = "a大于0吗?" 
c = "是的"
End If

If(如果)...Else(如果不)

If a > 0 Then b = "a大于0" Else b = "a小于等于0" End If'意思是:如果a>0,则b="a大于0"' 若非如此,则b="a小于等于0"

要是有多种可能,在If和Else之间加入ElseIf,可加入多个ElseIf。

Ifa > 0 Then b = "a大于0" ElseIf a < 0  b = "a小于0" Else b = "a等于0" End If

For语句

For循环语句中的代码可以运行很多遍。“For i=1 To 3”代表运行3遍。

网页中很多恶意代码就是用这个语句实现的,比如你点一个网页链接,就会弹出十几个广告窗口。

For i=1 To 3     MsgBox("这是第" & i & "遍")Next'意思是弹出3遍信息窗口

下例中,Step后面的数字代表i的增量,指i从1到10000每次增加2。Exit For表示终止循环,可以提前结束循环。

For i=1 To10000 Step 2    
MsgBox("i的值为" & i)
if i > 3 then Exit For'i>3时结束循环
Next

函数

函数可以把很多行代码成组,组成一个命令来执行。

下面的例子,“sayHello”是函数的名字,是由用户自己定义的。定义好函数后,我们以后只要写一句sayHello()

,就可以一下子执行sayHello定义中的三行代码。

Function sayHello()
Dim s
s = "Hello World!" 
MsgBox(s)
End Function'调用这个函数sayHello()

函数也可以定义为运算求值的过程。下面的例子,小括号里的a,b代表要输入的参数,是两个变量,变量名自己随便起。

Add=a+b的Add代表函数返回值,必须是函数的名字。

Function Add(a,b)
Add= a + b
End Function'调用这个函数c =Add(1,2)'运行结果:c=1+2=3

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多