VBScript - 过程
什么是函数?
函数是一组可重用的代码,可以在程序中的任何位置调用。 这消除了一遍又一遍地编写相同代码的需要。 这将使程序员能够将一个大程序划分为许多小的且可管理的函数。 除了内置函数之外,VBScript 还允许我们编写用户定义的函数。 本节将向您解释如何在 VBScript 中编写自己的函数。
函数定义
在使用函数之前,我们需要定义该特定函数。 在 VBScript 中定义函数的最常见方法是使用 Function 关键字,后跟唯一的函数名称,它可能包含也可能不包含参数列表以及带有 End Function 关键字的语句, 表示函数结束。
基本语法如下所示 −
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function Functionname(parameter-list) statement 1 statement 2 statement 3 ....... statement n End Function </script> </body> </html>
示例
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function sayHello() msgbox("Hello there") End Function </script> </body> </html>
调用函数
要在脚本中稍后的某个位置调用函数,您只需使用 Call 关键字编写该函数的名称即可。
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function sayHello() msgbox("Hello there") End Function Call sayHello() </script> </body> </html>
函数参数
到目前为止,我们已经看到了没有参数的函数,但是有一个工具可以在调用函数时传递不同的参数。 这些传递的参数可以在函数内部捕获,并且可以对这些参数进行任何操作。 使用Call关键字调用函数。
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function sayHello(name, age) msgbox( name & " is " & age & " years old.") End Function Call sayHello("Tutorials point", 7) </script> </body> </html>
从函数返回值
VBScript 函数可以有一个可选的 return 语句。 如果您想从函数返回值,则这是必需的。 例如,您可以在函数中传递两个数字,然后您可以期望函数在调用程序中返回它们的乘法。
注意 − 函数可以返回以逗号分隔的多个值作为分配给函数名称本身的数组。
示例
该函数接受两个参数并将它们连接起来并在调用程序中返回结果。 在 VBScript 中,值是使用函数名称从函数返回的。 如果您想返回两个或多个值,则函数名称将与值数组一起返回。 在调用程序中,结果存储在结果变量中。
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function concatenate(first, last) Dim full full = first & last concatenate = full 'Returning the result to the function name itself End Function </script> </body> </html>
现在,我们可以如下调用该函数 −
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Function concatenate(first, last) Dim full full = first & last concatenate = full 'Returning the result to the function name itself End Function ' Here is the usage of returning value from function. dim result result = concatenate("Zara", "Ali") msgbox(result) </script> </body> </html>
子程序
子过程与函数类似,但有一些差异。
子过程不返回值,而函数可能返回值,也可能不返回值。
子过程无需call关键字即可调用。
子过程始终包含在 Sub 和 End Sub 语句内。
示例
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Sub sayHello() msgbox("Hello there") End Sub </script> </body> </html>
调用过程
要在脚本中稍后的某个位置调用过程,您只需编写带有或不带有 Call 关键字的该过程的名称。
<!DOCTYPE html> <html> <body> <script language = "vbscript" type = "text/vbscript"> Sub sayHello() msgbox("Hello there") End Sub sayHello() </script> </body> </html>
函数的高级概念
关于 VBScript 函数,有很多东西需要学习。 我们可以按值或按引用传递参数。 请点击其中每一项以了解更多信息。