用IF...THEN测试单个条件
VBscript最有用的语句之一是IF...THEN语句。下面的例子显示了如何使用这种语句:
<%
if time > #5:00:00pm# then
Greeting=”Good Evening!”
end if
%>
这个语句在时间是下午五点之后的情况下,把值“Good Evening”分配给变量Greeting。(字符#用来界定日期或时间常量)。注意表达式END IF。表达式END IF指定了分支代码块的结束。你可以在END IF表达式之前放置多条语句,象这样:
<%
if time >#5:00:00pm# then
Greeting=”Good Evening!”
Evening_Visitor=Evening_Visitor+1
end if
%>
这个例子中的两个语句都只有在时间是下午五点以后的情况下才执行。
你也可以对一个分支使用ELSE表达式。跟在ELSE表达式后的语句只有条件的真值为false时才被执行。请看这个例子:
<%
if time > #5:00:00pm# then
Greeting=”Good Evening!”
else
Greeting=”Good some other time!”
end if
%>
你可以在ELSE语句后放置多个语句。因为一个条件要么为TRUE,要么为FALSE,因此THEN表达式后或ELSE表达式后的语句只有一组可以被执行。
你可以进行分支嵌套,这通常是非常有用的。这里有一个例子:
<%
if time > #5:00:00pm# then
if time < 10:00:00pm# then
Greeting=”Good Evening!”
else
Greeting=”Good Late Evening!”
end if
else
Greeting=”Good some other time!”
end if
%>
在这个例子中,如果是在晚上十点之前,则问候语是“Good Evening!”,如果时间晚于十点,则问候语是”Good Late Evening!”。如果不是在五点之后,则使用问候语“Good some other time!”。
如果在一个分支中,你只想执行一个语句,那么你不需要使用END IF 表达式。这里有两个例子:
<%
if time < #5:00:00pm# then Greeting=”Good Bye!”
%>
<%
if time < #5:00:00pm# then Greeting=”Good Day!” else Greeting=”Good Evening!”
%>
用SELECT CASE 测试多个条件
SELECT CASE语句于IF...THEN语句关系密切。IF...THEN语句只能允许你测试一个条件;SELECT CASE语句允许你一次测试多个条件,如下例所示:
<%
SELECT CASE Visitor_Name
CASE “Bill Gates”
Greeting=”Welcome Bill Gates!”
CASE “President Clinton”
Greeting=”Welcome President Clinton!”
CASE ELSE
Greeting=”Welcome Someone!”
END SELECT
%>
在这个例子中,变量Visitor_Name代表你站点访问者的名字。如果该名字匹配某个条件,则相应的问候语被分配给变量Greeting。否则执行CASE ELSE表达式后面的语句。
CASE ELSE语句是可选的。如果你省去这个表达式,并且所有的CASE条件都没有匹配,则不执行任何语句。