VBS教程:VBscript语句-Function 语句

Function 语句

声明 Function 过程的名称、参数以及构成其主体的代码。

 [Public [Default]| Private] Function name [(
  arglist
)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function

参数


Public

表示 Function 过程可被所有脚本中的所有其他过程访问。

Default

只与 Class 块中的 Public 关键字一起使用 来表示 Function 过程是类的默认方法。如果在一个类中指定了不止一个 Default 过程,就有错误发生。

Private

表示 Function 过程只可被声明它的脚本中的其他过程访问或者如果函数是一个数据类,那么 Function 过程只能被该类中的其他过程访问。

name

Function 的名称,遵循标准的变量命名约定。

arglist

代表调用时要传递给 Function 过程的参数的变量列表。用逗号隔开多个变量。

statements

Function 过程的主体中执行的任意语句组。

expression

Function 的返回值。

arglist 参数包含下列语法和部分:

[ByVal | ByRef] varname[( )]

参数


ByVal

表示该参数是按值方式传递的。

ByRef

表示该参数按引用方式传递。

varname

代表参数变量的名称;遵循标准的变量命名约定。

说明


如没有显式指定使用 Public或 Private,则 Function 过程默认为公用,即它们对于脚本中的所有其他过程是可见的。Function 中局部变量的值在对 过程的调用中不被保留。

不能在任何其他过程(例如,SubProperty Get)中定义 Function 过程。

使用 Exit Function 语句可以从 Function 过程中立即退出。程序继续执行调用 Function 过程的语句之后的语句。可在 Function 过程的任何位置出现任意个 Exit Function 语句。

Sub 过程类似,Function 过程是可以获取参数、执行一系列语句并改变其参数值的独立过程。与 Sub 过程的不同之处是:当要使用由函数返回的值时,可以在 表达式的右边使用 Function 过程,这与内部函数的使用方式一样,例如 SqrCosChr

在表达式中,可以通过使用函数名,并在其后用圆括号给出相应的参数列表来调用 Function 过程。有关调用 Function 过程的详细信息,请参阅 Call 语句。

小心 Function 过程可以是递归的,即该过程可以调用自身以完成某个给定的任务。但是,递归可能会导致堆栈溢出。

要从函数返回一个值,只需将值赋给函数名。在过程的任意位置都可以出现任意个这样的赋值。如果没有给 name 赋值, 则过程将返回一个默认值:数值函数返回 0,字符串函数返回零长度字符串 ("")。如果在 Function 中没有对象引用被指定给 name(使用 Set),则返回对象引用的函数将返回 Nothing。

下面的样例说明如何给一个名为 BinarySearch 的函数赋返回值。在此样例中,将 False 赋给了该函数名,表示没有找到某个值。

Function BinarySearch(. . .)    . . .    ' 未找到该值。返回 False 值。    If lower > upper Then        BinarySearch = False          Exit Function     End If    . . .End Function

Function 过程中使用的变量分为两类:一类是在过程内显式声明的,另一类则不是。在过程内显式声明的变量(使用 Dim 或等效方法)总是过程的局部变量。被使用但没有在过程中显式声明的变量也是局部变量,除非在该过程外更高级别的位置显式声明它们。

小心 Function 过程可以是递归的,即该过程可以调用自身以完成某个给定的任务。但是,递归可能会导致堆栈溢出。

小心 VBScript 可能会重新排列数学表达式以提高内部效率。当 Function 过程修改数学表达式中变量的值时,应避免在同一表达式中使用该函数。

(0)

相关推荐

  • VBS教程:VBscript语句-Function 语句

    Function 语句声明 Function 过程的名称.参数以及构成其主体的代码.  [Public [Default]| Private] Function name [(  arglist)][statements][name = expression][Exit Function] [statements][name = expression]End Function 参数Public 表示 Function 过程可被所有脚本中的所有其他过程访问. Default 只与 Class 块中

  • vbs(asp)下的Function 语句

    Function 语句 声明 Function 过程的名称.参数以及构成其主体的代码. [Public [Default]| Private] Function name [(    arglist )] [statements] [name = expression] [Exit Function]  [statements] [name = expression] End Function 参数 Public  表示 Function 过程可被所有脚本中的所有其他过程访问.  Default

  • VBS教程:VBscript语句-功能介绍

    VBScript 语句描述语言元素将控制权交给一个 Sub 或 Function 过程.Call 语句声明一个类的名称.Class 语句声明用于替换文字值的常数.Const 语句声明变量并分配存储空间.Dim 语句当某个条件为 True 时或在某个条件变为 True 之前重复执行一个语句块.Do...Loop 语句重新初始化固定大小的数组的元素和释放动态数组的存储空间.Erase 语句执行一条或多条指定语句.Execute 语句在一个脚本的全局命名空间中执行一条或多条语句.ExecuteGlob

  • VBS教程:VBscript语句-For Each...Next 语句

    For Each...Next 语句对数组或集合中的每个元素重复执行一组语句. For Each element In group[statements][Exit For][statements]Next [element] 参数element 用来枚举集合或数组中所有元素的变量.对于集合,element 可能是 Variant 变量.通用 Object 变量或任意指定的 Automation 对象变量.对于数组,element 只能是 Variant 变量. group 对象集合或数组的名称

  • VBS教程:VBScript 基础-VBScript 过程

    VBScript 过程在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程. Sub 过程Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值.Sub 过程可以使用参数(由调用过程传递的常数.变量或表达式).如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 (). 下面的 Sub 过程使用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息.然后显示

  • MySQL5.7.14下载安装图文教程及MySQL数据库语句入门大全

    如何下载: 我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloads/ 进入此界面下载: Downloads–>MySQL Community Edition (GPL)(这是免费版的,当然,有钱的可以用收费的,功能更强大)–>MySQL Community Server (GPL) –>选择对应的系统和电脑版本(在这里,我选择的是Window系统64位的下载) –>No thanks, just start my down

  • VBS教程:fso方法-CreateTextFile 方法

    CreateTextFile 方法 创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件. object.CreateTextFile(filename[, overwrite[, unicode]]) 参数 object 必选项.应为 FileSystemObject 或 Folder 对象的名称. filename 必选项.字符串表达式,指明要创建的文件. overwrite 可选项.Boolean 值指明是否可以覆盖现有文件.如果可覆盖文件,该值为 True:如果不

  • VBS教程:函数-GetRef 函数

    GetRef 函数返回一个指向一过程的引用,此过程可绑定某事件. Set object.eventname = GetRef(procname) 参数object 必选项.事件所关联的对象的名称. eventname 必选项.要与函数绑定的事件的名称. procname 必选项.该字符串中包含 Sub 或 Function 过程的名称,该过程与事件关联. 说明GetRef 函数可以用来将 VBScript 过程 (Function 或 Sub) 与 DHTML (动态 HTML)页面中可用的任何

  • Python 中的判断语句,循环语句,函数

    目录 1. 判断语句 1.1 布尔类型和比较运算符 1.1.1 布尔类型 1.1.2 比较运算符 1.2 if 语句 1.2.1 if 语句基本格式 1.2.2 if else 语句 1.2.3 if elif else 语句 1.2.4 判断语句的嵌套 2. 循环语句 2.1 while 循环 2.1.1 while 循环基础语法 2.1.2 while 循环嵌套使用 2.2 for 循环 2.2.1 for 循环基础语法 2.2.2 range 语句 2.2.3 变量作用域 2.2.4 fo

  • VBS教程:VBscript语句-Const 语句

    Const 语句声明用于代替文字值的常数.  [Public | Private] Const constname = expression 参数Public 可选项.该关键字用于在 Script 级中声明可用于所有脚本中所有过程的常数.不允许在过程中使用. Private 可选项.该关键字用于在脚本级中声明只可用在声明所在的脚本中的常数.不允许在过程中使用. constname 必选项.常数的名称,根据标准的变量命名约定. expression 必选项.文字或其他常数,或包括除 Is 外的所有

随机推荐