VBScript 条件语句

发布时间:2020-01-21编辑:脚本学堂
VBScript的条件语句

使用VBScript条件语句控制程序流程

在一般情况下,程序语句的执行是按照其书写顺序来执行的。前面的代码先执行,后面的代码后执行。但是这种简单的自上而下的单向流程只适于用一些很简单的程序。大多数情况下,需要根据逻辑判断来决定程序代码执行的优先顺序。要改变程序代码执行的先后顺序,任何编程语言都需要用到条件语句和循环语句。

这一节我们主要介绍条件语句。
VBScript 条件语句有:
    If...Then...Else 条件语句
    Select Case 条件语句

使用 If...Then...Else 条件语句进行判断
条件为 True 时运行语句

当 If 条件为 True 时,即当符合 If 条件时,执行 If 至 End If 之间的脚本。下面是个简单示例,请注意此例省略了关键字 Else:
 

复制代码 代码如下:
<script type="text/vbscript">
vMon=Month(Date)
'Date 函数返回当前系统日期,Month 函数返回所给日期的月份数。
if vMon = 5 then
document.write("这个月是5月份。")
end if
</script>

查看演示示例

条件为 True 和 False 时分别运行某些语句

可以使用 If...Then...Else 语句定义两个可执行语句块:条件为 True 时运行某一语句块,条件为 False 时运行另一语句块。
 

复制代码 代码如下:
<script type="text/vbscript">
vMon=Month(Date)
'Date 函数返回当前系统日期, Month 函数返回所给日期的月份数。
if vMon >= 3 or vMon <11 then
document.write("天气好,要出去玩耍。")
else
document.write("天气冷,要睡懒觉。")
end if
</script>

查看演示示例

对多个条件进行判断

If...Then...Else 语句的一种变形允许你从多个条件中选择,即添加一个或多个 ElseIf 子句以扩充 If...Then...Else 语句的功能,使你可以控制基于多种可能的程序流程。例如:
 

复制代码 代码如下:
<script type="text/vbscript">
vDay=Weekday(Date)
'Date 函数返回当前系统日期
'Weekday 函数返回代表一星期中某天的整数。缺省以星期天为第一天,返回值为1。
if vDay = 6 then
document.write("总算熬到星期五了。")
elseif vDay > 1 and vDay <6 then
document.write("明天要上班,想想就烦。")
else
document.write("哈哈,周末啦!")
end if
</script>

查看演示示例

可以添加任意多个 ElseIf 子句以提供多种选择。使用多个 ElseIf 子句经常会变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case 语句。

使用 Select Case 条件语句进行判断

Select Case 结构提供了 If...Then...ElseIf 结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case 语句提供的功能与 If...Then...Else 语句类似,但是可以使代码更加简练易读。

Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配,则执行与该 Case 关联的语句块,示例代码如下:
 

复制代码 代码如下:
<script type="text/vbscript">
vDay=Weekday(Date)
'Date 函数返回当前系统日期
'Weekday 函数返回代表一星期中某天的整数。缺省以星期天为第一天,返回值为1。
Select Case vDay
Case 1
document.write("今天是星期天。")
Case 2
document.write("今天是星期一。")
Case 3
document.write("今天是星期二。")
Case 4
document.write("今天是星期三。")
Case 5
document.write("今天是星期四。")
Case 6
document.write("今天是星期五。")
Case else
document.write("今天是星期六。")
end select
</script>

查看演示示例

请注意 Select Case 结构只计算开始处的一个表达式(只计算一次),而 If...Then...ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替 If...Then...ElseIf 结构。
更多vbscript内容,请参考vbscript在线手册。

上一篇:VBScript的变量
下一篇:VBScript 循环语句