2024年6月8日发(作者:)

ASP VBScript过程与函数

使用过程,可以将程序列划分成一个个较小的逻辑单元。过程中的代码能够反

复被调用,这样就可以减少不必要的重复。VBScript根据是否返回值,将过程划分

为Sub过程Function过程两大类。一般情况下将Sub称为过程,而把Function称为

函数。

1.Sub过程

Sub过程是包含在Sub和End Sub语句之间的一组VBScript语句,执行操作但

没有返回值。Sub过程可以使用参数(由调用过程传递的常数、变量或者表达式)。

如果Sub过程无任何参数,则Sub语句必须包含空括号()。

下面的代码示例是一个不带任何参数的Sub过程,弹出一个消息框,显示字符

串"你好,我在学习ASP"。

Sub Test()

Msgbox("你好,我在学习ASP ")

End Sub

Sub过程还可以使用参数,下面就是一个带两个参数的Sub过程,弹出消息框,

显示两个参数的和:

Sub AddNumber(i,j)

Dim a

a=i+j

MsgBox a

End Sub

Sub过程的调用很简单,只需输入过程名及所有参数值,参数值之间使用逗号

分隔即可。另外一种调用方法是使用Call语句,但如果使用了Call语句,则必须将

所有参数包含在括号之中。

调用过程的必须是一个独立的语句。在过程中还可以用Exit Sub语句

例如,下面的示例显示了调用上述带参数过程AddNumber的两种方式。一种

使用Call语句;另一种则不使用,两种方式效果相同。

Call AddNumber (1984,25)

AddNumber 1984,25

强制从过程中退出并且返回。

当不使用Call语句调用过程时,括号被省略;使用Call语句调用过程

时,要用括号并且包含所有参数。

2.Function函数

Function函数是包含在Function和End Function关键字之间的一组VBScript

语句。Function函数通过函数名返回一个值,这个值在函数内赋给函数名。Functio

n返回值的数据类型总是Variant。与Sub类似,若Function函数没有参数,那么F

unction函数名后面必须跟从一个无内容的括号“()”。

例如创建一个带参数的Function函数Celsius用于将华氏温度转换成摄氏温度,

具体代码如下:

Function Celsius(degrees)

Celsius=(degrees-32)*59

End Function

在Function函数中,为了返回一个数值,只需要将要返回的数值赋给函数名即

可。函数的调用方法与过程略有不同,函数可以在表达式中使用。调用函数时,参

数要放在()中,这样就可以将参数和表达式的其他部分区别开。例如:

Temp = Celsius(60)+2

Msgbox Celsius(50)

同样,也可以使用Call语句来调用函数。例如:

Call Celsius(60)

用Call语句调用时,VBScript将放弃返回值。无参数函数的调用与变量的使用

一样,只要使用函数名即可。另外,调用Function函数时,函数名须用在变量赋值

语句的右端或者表达式中。

同Sub过程一样,可以使用Exit Function语句直接退出函数并返回,

但是执行前必须给函数赋值,否则将会出错。