Simple life , i wish

VBScript基本语法(转)

上一篇 / 下一篇  2012-03-27 11:57:12 / 天气: 晴朗 / 心情: 平静 / 精华(2)

什么是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=3s = "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.3c = CInt(12.6)'把12.6转为整数13(四舍五入)d = Int(12.6)'把12.6转为整数12(保留整数部分)e = Int("&Hff")'把十六进制数0xff转为十进制255f = Hex(255)'把十进制255数转为十六进制FF

If语句

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

Ifa > 0Thenb = "a大于0"'意思是:如果a>0,则b="a大于0"Ifa > 0Andb > 0Thenc = "ab都大于0"'意思是:如果a>0,并且b>0,则c="ab都大于0"Ifa > 0Orb > 0Thenc = "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(如果不)

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

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

Ifa > 0Thenb = "a大于0"ElseIfa < 0
    b = "a小于0"Elseb = "a等于0"End If

For语句

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

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

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

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

Fori=1To10000Step2
    MsgBox("i的值为" & i)
    if i > 3 thenExit For'i>3时结束循环Next

函数

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

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

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

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

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


TAG:

 

评分:0

我来说两句

Wei370910286

Wei370910286

Simple life,I wish

日历

« 2024-05-07  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 15030
  • 日志数: 12
  • 建立时间: 2012-03-23
  • 更新时间: 2012-04-27

RSS订阅

Open Toolbar