ZetCode

VBScript 函数

最后修改于 2025 年 2 月 19 日

在本文中,我们将学习如何在 VBScript 中创建和使用函数。函数是执行特定任务的可重用代码块。它们有助于组织代码并使其更易于维护。我们将使用 WScript.Echo 输出结果,并使用 cscript 运行脚本。

简单函数

第一个示例演示了如何创建一个简单的函数。

simple_function.vbs
Function Greet(name)
    Greet = "Hello, " & name & "!"
End Function

WScript.Echo Greet("John")

此示例定义了一个名为 Greet 的函数,该函数接受一个参数 name 并返回一个问候消息。

带多个参数的函数

函数可以接受多个参数。

multi_param_function.vbs
Function Add(a, b)
    Add = a + b
End Function

WScript.Echo "Sum: " & Add(5, 3)

此示例定义了一个名为 Add 的函数,该函数接受两个参数并返回它们的和。

带可选参数的函数

VBScript 不支持真正的可选参数。以下是实现类似功能的变通方法。

optional_param_function.vbs
Function Multiply(a, b)
    If IsEmpty(b) Then
        Multiply = a * 2
    Else
        Multiply = a * b
    End If
End Function

' Calling the function with one argument
WScript.Echo "Result: " & Multiply(5, Empty)

' Calling the function with two arguments
WScript.Echo "Result: " & Multiply(5, 3)

此示例定义了一个名为 Multiply 的函数,其中包含一个可选参数 b。如果省略 b,则将 a 乘以 2。

递归函数

函数可以调用自身,这称为递归。

recursive_function.vbs
Function Factorial(n)
    If n <= 1 Then
        Factorial = 1
    Else
        Factorial = n * Factorial(n - 1)
    End If
End Function

WScript.Echo "Factorial of 5: " & Factorial(5)

此示例使用递归计算数字的阶乘。

返回数组的函数

函数可以返回数组。

array_function.vbs
Function GetNumbers()
    Dim nums(2)
    nums(0) = 10
    nums(1) = 20
    nums(2) = 30
    GetNumbers = nums
End Function

Dim result
result = GetNumbers()

WScript.Echo "Second number: " & result(1)

此示例定义了一个名为 GetNumbers 的函数,该函数返回一个数组。

带 ByRef 参数的函数

VBScript 允许使用 ByRef 按引用传递参数。

byref_function.vbs
Function Square(ByRef num)
    num = num * num
End Function

Dim x
x = 5
Square x

WScript.Echo "Square: " & x

此示例定义了一个名为 Square 的函数,该函数会修改按引用传递的参数的值。

Function Square(ByRef num)
    num = num * num
End Function

我们为参数使用了 ByRef 关键字。

Square x

此外,我们必须在不带括号的情况下调用该函数。

在本文中,我们探讨了如何在 VBScript 中创建和使用函数。我们介绍了简单函数、带多个参数的函数、可选参数、递归函数、返回数组的函数以及带 ByRef 参数的函数。函数对于编写 VBScript 中模块化和可重用的代码至关重要。

作者

我叫 Jan Bodnar,是一位充满热情的程序员,拥有丰富的编程经验。我从 2007 年开始撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有十多年的经验。

列出所有 VBScript 教程