VBS基础篇 - 过程(sub 与 Function)
在VBscript中,有两种procedure:Sub procedure与Function procedure
Sub过程:是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。
Call GetName() '调用Sub过程 Sub GetName() MsgBox "John" '输出字符串 End Sub 'Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下: Call GetName("John") '调用Sub Sub GetName(name) MsgBox name '输出字符串 End Sub '注意:Sub过程是没有返回值
Function 过程:是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()
Call GetName() '调用Function Function GetName() MsgBox "John" '输出字符串 End Function 'Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)
Call GetName("John") '调用Function Function GetName(name) MsgBox name '输出字符串 End Function 'Function 是有返回值的,通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant getName "John" '调用Function Function getName(name) getName = name '设置返回值 End Function
如何调用过程
调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。
调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。
下面的示例显示了调用过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。
getName "John" '调用过程的第一种写法 Call getName("Candy") '调用过程的第二种写法 Sub getName(name) MsgBox "我是"&name End Sub
Sub与Function的区别:
Sub没有返回值,而Function有返回值。
Sub不能放在表达式中,而Function可以。