📄 8-13.cfm.htm
字号:
<html>
<head>
<title>创建子例程</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<meta NAME="GENERATOR" CONTENT="Microsoft FrontPage 3.0">
</head>
<body>
<font FACE="宋体" SIZE="5"><b>
<p ALIGN="JUSTIFY">创建子例程</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">如果你发现你需要在脚本中的多处地方执行同样的一组语句,可以使用子例程。一个子例程可以包含VBscript语句的任何集合。你可以调用同一个子例程任意多次。这里有一个例子:</p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><TITLE>Subroutine Example</TITLE></HEAD></p>
<p ALIGN="JUSTIFY"><BODY></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">SUB ShowSentence</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">This sentence was created by a subroutine.</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY">ShowSentence</p>
<p ALIGN="JUSTIFY">ShowSentence</p>
<p ALIGN="JUSTIFY">ShowSentence</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"></BODY></p>
<p ALIGN="JUSTIFY"></HTML></p>
<p ALIGN="JUSTIFY">如果在浏览器中显示这个文件,句子This sentence was
created by a subroutine.将会被显示三次。子例程ShowSentence用于显示这个句子,通过该子例程的名字,该子例程在主脚本中被调用了三次。</p>
<p ALIGN="JUSTIFY">子例程可以接受参数。例如,你可以创建一个子例程,根据传递给它的参数的不同而显示不同的句子。这里有一个例子:</p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">SUB ShowError(theError)</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><TITLE>Login Invalid</TITLE></p>
<p ALIGN="JUSTIFY"><BR>The login information you provided was invalid:</p>
<p ALIGN="JUSTIFY"><BR><%=theError%></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY">IF user_name<></font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">Andrew Jones</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3"> THEN
ShowError </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Bad user name.</font><font
SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">IF user_password<></font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">secret password</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3"> THEN ShowError </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">Bad
password</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">在这个例子中,根据传递给它的字符串的不同,子例程显示不同的错误信息。例如,如果变量user_name的值不等于</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">Andrew Jones</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">,则用字符串</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">Bad user name</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">调用该子例程。如果变量user_password的值不等于</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">secret password</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">,则字符串</font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">Bad password</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">被传递给该子例程。</p>
<p ALIGN="JUSTIFY">你可以一次给一个子例程传递多个参数。要做到这一点,只要简单地用逗号把参数隔开即可,如下例所示:</p>
<p ALIGN="JUSTIFY"><TITLE>Subroutine Example</TITLE></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">Sub MySub(myvar1,myvar2)</p>
<p ALIGN="JUSTIFY">mystring=myvar1&myvar2</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=mystring%></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY">MySub </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">The
house </font><font SIZE="3">“</font><font FACE="宋体" SIZE="3">,</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">is on a hill.</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">如果在一个子例程中声明或第一次使用一个变量,则该变量只在这个子例程内存在。这意味着如果你在子例程内给该变量分配了任何值,你将不能在该子例程外读取到这些值。考虑如下的例子:</p>
<p ALIGN="JUSTIFY"><TITLE>Subroutine Example</TITLE></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">SUB AssignVar</p>
<p ALIGN="JUSTIFY">myvar=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello
There!</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY">AssignVar</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=myvar%></p>
<p ALIGN="JUSTIFY">在这个例子中,在子例程内给变量myvar分配了值</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello There!</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">。在该子例程的范围之外,试图显示这个变量的值,但什么也不能显示。</p>
<p ALIGN="JUSTIFY">另一方面,如果在一个子例程的外部声明或第一次使用了一个变量(在脚本的层次),该变量可以在子例程之内被访问。考虑如下的例子:</p>
<p ALIGN="JUSTIFY"><TITLE>Subroutine Example</TITLE></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">SUB ShowVar</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><%=myvar%></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">END SUB</p>
<p ALIGN="JUSTIFY">myvar=</font><font SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello
There!</font><font SIZE="3">”</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">ShowVar</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY">在这个例子中,在主脚本中给变量myvar分配了值</font><font
SIZE="3">”</font><font FACE="宋体" SIZE="3">Hello There!</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3">。当子例程ShowVar被调用时,该变量的值被显示。</p>
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -