声明(创建)VBScript 变量
在 VBScript 创建变量通常指"声明"变量。
您可以通过 Dim、Public 或 Private 语句声明 VBScript 变量。如下所示:
Dim x
Dim carname
现在您已经创建了两个变量。变量的名称是 "x" 和 "carname"。
您也可以在脚本中通过使用它的名称来声明变量。如下所示:
carname="Volvo"
现在您又创建了一个变量。变量的名称是 "carname"。然后,这个做法不是一个好习惯,因为您可能会在脚本中拼错变量名,那样可能会在脚本运行时引起奇怪的结果。
如果您拼错变量名,比如 "carname" 变量错拼为 "carnime",脚本会自动创建一个名为 "carnime" 的新变量。为了防止脚本这样做,您可以使用 Option Explicit 语句。如果您使用这个语句,就必须使用 dim、public 或 private 语句来声明所有的变量。
把 Option Explicit 语句放置于脚本的顶端,如下所示:
Option Explicit
Dim carname
carname=some value
为变量赋值
msgbox"弹框",,"Title"
dim name,age //声明变量
name = "111" age = 12 //赋值
msgbox name&age
dim a,b,c
a=1
b=2
c=a+b
msgbox c
变量的生存期
变量的生存期指的是它可以存在的时长。
当您在一个子程序中声明变量时,变量只能在此程序内进行访问。当退出此程序时,变量也会失效。这样的变量称为本地变量。您可以在不同的子程序中使用名称相同的本地变量,因为每个变量只能在声明它的程序内得到识别。
如果您在子程序以外声明了一个变量,在您的页面上的所有子程序都可以访问它。这类变量的生存期始于它们被声明,止于页面被关闭。
VBScript 数组变量
数组变量用于在一个单一的变量中存储多个值。
在下面的实例中,声明了一个包含 3 个元素的数组:
Dim names(2)
括号内显示的数字是 2。数组的下标以 0 开始,因此该数组包含 3 个元素。这是容量固定的数组。您可以为数组的每个元素分配数据,如下所示:
names(0)="Tove"
names(1)="Jani"
names(2)="Stale"
同样地,通过使用特定数组元素的下标号,您可以取回任何元素的值。如下所示:
mother=names(0)
您可以在一个数组中使用多达 60 个维数。声明多维数组的方法是在括号中用逗号来分隔数字。这里,我们声明了一个包含 5 行 7 列的 2 维数组:
Dim table(4,6)
为二维数组赋值:
Dim x(2,2)
x(0,0)="Volvo"
x(0,1)="BMW"
x(0,2)="Ford"
x(1,0)="Apple"
x(1,1)="Orange"
x(1,2)="Banana"
x(2,0)="Coke"
x(2,1)="Pepsi"
x(2,2)="Sprite"
<!--输入框-->
dim v,b,s
v=inputbox("请输入第一个乘数")
b=inputbox("请输入第二个乘数")
s=a*b
msgbox "乘积是:"&s
条件语句
- If stat语句ement - 假如您希望在条件为 true 时执行一系列的代码,可以使用这个语句
- If...Then...Else 语句 - 假如您希望执行两套代码其中之一,可以使用这个语句
- If...Then...ElseIf 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
- Select Case 语句 - 假如您希望选择多套代码之一来执行,可以使用这个语句
-
<!--if语句-->
If a < 0 Then MsgBox("a<0") ElseIf a > 0 And a < 100 Then MsgBox("a>0 and a<100") Else MsgBox("a>100") End If <!--猜数字游戏--> dim a'变量 //单引号表示注释的意思 randomize'初始化随机函数 dim a = int(ran*10)'随机0-10 do'循环语句 dim b = inputbox("猜个数字吧") if int(b)>a then msgbox"大了" elseif int(b)>a then msgbox"小了" else msgbox"可以,对了" exit do’退出循环 end if'结束判断 loop
<!--无限弹框-->
dim WS,I set WS = WScript.CreateObject("WScript.shell")'创建对象 for I = 1 To 10'执行10次 WS.Run "mshta.exe VBScript:MsgBox(""拒接访问C:\"",64,""Windows警告"")(Close)",0'运行程序 Next
Select Case
dim d=weekday(date) Select Case d Case 1 msgbox("Sleepy Sunday") Case 2 msgbox("Monday again!") Case 3 msgbox("Just Tuesday!") Case 4 msgbox("Wednesday!") Case 5 msgbox("Thursday...") Case 6 msgbox("Finally Friday!") Case else msgbox("Super Saturday!!!!") End Select
循环语句
-
在 VBScript 中,我们可以使用四种循环语句:
- For...Next 语句 - 运行一段代码指定的次数
- For Each...Next 语句 - 针对集合中的每个项目或者数组中的每个元素来运行某段代码
- Do...Loop 语句 - 运行循环,当条件为 true 或者直到条件为 true 时
- While...Wend 语句 - 不要使用这个语句 - 请使用 Do...Loop 语句代替它
-
Step 关键词
通过 Step 关键词,您可以规定计数变量递增或递减的步进值。
在下面的实例中,计数变量(i)每次循环的递增步进值为 2。
For i=2 To 10 Step 2
some code
Next如果要递减计数变量,您就必须使用负的 Step 值。并且必须规定小于开始值的结束值。
在下面的实例中,计数变量(i)每次循环的递减步进值为 2。
For i=10 To 2 Step -2
some code
Next退出 For...Next
您可以通过 Exit For 关键词退出 For...Next 语句。
For i=1 To 10
If i=5 Then Exit For
some code
Next -
For Each...Next 循环
-
Dim cars(2) cars(0)="Volvo" cars(1)="Saab" cars(2)="BMW" For Each x In cars msgbox(x) Next
Do...Loop
如果你不知道重复多少次,可以使用 Do...Loop 语句。
Do...Loop 语句重复执行某段代码直到条件是 true 或条件变成 true。
重复执行代码直到条件是 true
您可以使用 While 关键字来检查 Do... Loop 语句的条件。
Do While i>10
some code
Loop如果 i 等于 9,上述循环内的代码将终止执行。
Do
some code
Loop While i>10这个循环内的代码将被执行至少一次,即使 i 小于 10。
重复执行代码直到条件变成 true
您可以使用 Until 关键字来检查 Do...Loop 语句的条件。
Do Until i=10
some code
Loop如果 i 等于 10,上述循环内的代码将终止执行。
Do
some code
Loop Until i=10这个循环内的代码将被执行至少一次,即使 i 等于 10。
退出 Do...Loop
您可以通过 Exit Do 关键词退出 Do...Loop 语句。
Do Until i=10
i=i-1
If i<10 Then Exit Do
Loop这个循环内的代码,只要 i 不为 10 且 i 大于 10 时都将被执行。