过程是用来执行特定任务的独立的程序代码。使用过程,可以将程序划分成一个个较小的逻辑单元,过程中的代码能够被反复调用,这样可以减少不必要的重复。可以将过程定义放在调用该过程的同一个asp文件中,也可以将常用过程放在共享的文件中,并使用#include命令将该文件包含在调用过程的.asp文件中。
VBScript根据是否返回值将过程划分为Sub 过程(子过程)和Function过程(函数)。
1.子过程
子过程是不返回值的过程,语法如下:
每次调用子过程都会执行Sub和End Sub之间的语句。arguments 是可选项,表示子过程的参数,参数用于在调用过程和被调用过程之间传递信息。
下面的例子是一个带有两个参数的子过程。
例5-22:
定义子过程后,就可以在程序代码中调用。调用方式有两种,一是用Call 语句,另一是直接用子过程名。
用Call 语句调用子过程的语法如下:
如下面的例子。
例5-23:
用子过程名直接调用的语法如下:
如下面的例子就是采用子过程名直接调用。
例5-24:
要指出的是,调用子过程必须是一个独立的语句。
在子过程中可以用Exit Sub 语句强制从子过程中退出并返回。如下面的例子。
例5-25:(www.xing528.com)
2.函数
函数与子过程一样,也是用来完成特定功能的独立的程序代码,可以读取参数、执行一系列语句并改变参数的值。但函数有一个最重要的特点,就是调用时将返回一个值。函数的语法如下:
其中,arguments 是一个可选项,表示函数的参数。funname=expression 用于为函数设置返回值,该值将返回给调用的语句,函数中至少要含有一条这样的语句。例如,下面的函数Celsius用于将华氏温度换算为摄氏温度:
函数的调用方法与子过程略有不同,函数可以在表达式中使用。调用函数时,参数要放在一对括号中,这样就可以将它们和表达式的其他部分分开。例如:
同样,也可用Call语句来调用函数。例如:
用Call 语句调用时,VBScript 将放弃返回值。
无参数函数的调用与变量的使用一样,只要使用函数名即可。
类似于子过程,函数中可以用Exit Function 语句直接退出并返回,但执行前必须为函数赋值,否则就会出错。
3.按地址传递和按值传递
默认时,参数是按地址传递,即过程按变量的内存地址去访问实际变量的内容。这样将变量传给过程时,通过过程就可以改变变量的值。如果在编程时想明确指定参数是按地址传递的,请用关键字ByRef。按值传递参数时,传递的只是变量的副本,如果过程中改变了这个值,则所作的变动只影响副本而不会影响变量本身。如果想按值传递参数,请用ByVal 关键字。
例5-26:
这段代码的执行结果为:按值传递后,变量intVar 的值保持不变,仍为60;而按地址传递后,值将变为120。
4.数组参数
数组作为参数传递时,与普通参数有些不同。过程中声明数组参数时,必须略去数组的长度,即设置一个动态数组,因为过程被调用前通常无法预知数组的长度。由于数组参数没有声明长度,因而调用时可以使用任意长度的数组作为输入值。在调用语句中,只需给出要传递的数组名即可,不必包括数组的下标及圆括号。
例5-27:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。