在 VBScript 中函数的定义208


VBScript 中函数的定义通常使用 `Function` 语句块,其语法如下:```vbscript
Function function_name(argument1, argument2, ...)
' 函数体
Function_name = expression
End Function
```

其中:* `function_name` 是自定义函数的名称,必须是合法标识符。
* `argument1`, `argument2`, ... 是传递给函数的参数。
* `expression` 是要返回的值。
* `End Function` 语句结束函数定义。

函数体包含用于执行函数操作的 VBScript 语句。当调用函数时,它将执行函数体,计算表达式,然后将结果作为返回值。下面是一些示例函数定义:```vbscript
Function Sum(a, b)
Sum = a + b
End Function
Function FormatDate(date)
FormatDate = FormatDateTime(date, vbShortDate)
End Function
Function IsEven(number)
If number Mod 2 = 0 Then
IsEven = True
Else
IsEven = False
End If
End Function
```

函数的参数

函数可以接受任意数量的参数,包括可选参数和缺省值参数。要指定一个可选参数,请在类型声明后使用 `Optional` 关键字。要为参数指定缺省值,请在 `Optional` 关键字后使用等号 (=) 和缺省值。例如:```vbscript
Function FormatNumber(number, format="

,

.00")
FormatNumber = FormatNumber(number, format)
End Function
```

在上面的示例中,`format` 参数是可选的,其缺省值为 "

,

.00"。

函数的返回值

函数必须使用 `Function_name = expression` 语句返回一个值。可以返回任何 VBScript 值,包括变量、常量、对象和数组。要返回一个没有值的函数,请使用 `Function_name = vbNull` 语句。

调用函数

要调用函数,只需使用其名称并传递所需的实际参数。例如:```vbscript
Dim result
result = Sum(10, 20)
MsgBox result
```

在上面的示例中,`Sum` 函数被调用,将 10 和 20 作为参数传递。函数返回 30,它被分配给 `result` 变量,然后显示在消息框中。

匿名函数

VBScript 还可以定义匿名函数,它们不使用 `Function` 语句块。匿名函数的语法如下:```vbscript
Sub main()
Dim f = Function(a, b)
Function = a + b
End Function
Dim result = f(10, 20)
MsgBox result
End Sub
```

在上面的示例中,匿名函数被定义为 `f` 变量。它接受 `a` 和 `b` 作为参数,并返回两者的和。然后调用函数并显示结果。

注意事项* 函数的名称必须是唯一的。
* 参数的顺序和类型在调用函数时必须匹配。
* 函数不可以递归调用自身。
* 函数可以定义在脚本文件中或作为对象的一部分。

2025-01-20


上一篇:VBScript 中 MsgBox 弹不出来?剖析原因及解决方法

下一篇:如何在 JavaScript 中将值传递给 VBScript