- 时间:2021-06-19 21:09 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:VBS教程:VBScript 语句-Sub 语句
Sub 语句
声明 [b]Sub[/b] 过程的名称、参数以及构成其主体的代码。
[code] [Public [Default]| Private] [b]Sub[/b] name [(
arglist
)]
[statements]
[Exit Sub]
[statements]
[b]End Sub[/b][/code]
[h3]参数[/h3]Public
表示 [b]Sub[/b] 过程可被所有脚本中的所有其他过程访问。
Default
只与 [b]类[/b]块中的[b]Public[/b] 关键字连用,用来表示 [b]Sub[/b] 过程是类的默认方法。 如果在类中指定了不止一个[b]Default[/b]过程,就会出错。
Private
表示 [b]Sub[/b] 过程只可被声明该过程的脚本中的其他过程访问。
name
[b]Sub[/b] 的名称,遵循标准变量命名约定。
arglist
代表在调用时要传递给 [b]Sub[/b] 过程的参数的变量列表。用逗号隔开多个变量。
statements
在 [b]Sub[/b] 过程主体内所执行的任何语句组。
[b]arglist[/b] 参数包含下列语法和部分:
[code][ByVal | ByRef] varname[( )][/code]
[h3]参数[/h3]ByVal
表示该参数是按值传递的。
ByRef
表示该参数按引用传递。
varname
代表参数的变量名称,遵循标准变量命名约定。
[h3]说明[/h3]如没有显式地指定使用 Public 或 Private,则 [b]Sub[/b] 过程默认为公用,即它们对于脚本中的所有其他过程都是可见的。[b]Sub[/b] 过程中局部变量的值在调用过程中不被保留。
不能在任何其他过程(例如,[b]Function[/b] 或 [b]Property Get[/b])中定义 [b]Sub[/b] 过程。
使用 [b]Exit Sub [/b]语句可以立即从 [b]Sub[/b] 过程中退出。程序继续执行调用 [b]Sub[/b] 过程的语句之后的语句。可以在 [b]Sub[/b] 过程中任意位置出现任意个 [b]Exit Sub[/b] 语句。
与 [b]Function[/b] 过程相似之处是:[b]Sub[/b] 过程是一个可以获取参数,执行一系列语句以及可改变其参数的值的独立过程。而与 [b]Function[/b] 过程不同之处是:Function 过程可以返回值,而 [b]Sub[/b] 过程不能用于表达式中。
可以使用过程名并跟随相应的参数列表来调用 [b]Sub[/b] 过程。关于如何调用 [b]Sub[/b] 过程的详细说明信息,请参阅 [b]Call[/b] 语句。
[b]小心[/b] [b]Sub[/b] 过程可以是递归的,即该过程可以调用自己来完成某个给定的任务。但是递归可能会导致堆栈溢出。
在 [b]Sub[/b] 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 [b]Dim[/b] 或等效方法)总是局部变量。对于那些没有在过程中显式声明的变量也是局部的,除非在该过程外更高级别的位置显式地声明它们。
[b]小心[/b] 过程可以使用没有在过程内显式声明的变量,但只要有任何 script 级定义的名称与之同名,就会产生名称冲突。如果过程中引用的未声明的变量与其他的过程、常数或变量的名称相同,则会认为过程引用的是脚本级的名称。要避免这类冲突,请使用 [b]Option Explicit[/b] 语句可强制显式声明变量。
[h3] [/h3]