Sub 和 Function 的应用

ASP 里,具有 Sub  和 Function  这 2 种 vbscript 的过程。。。。

Sub 子例程。。。。主要的作用就是可以把一个作为整体的一段程序打包起来的过程。。。。

Function 函数。。。。除了具备 Sub 的功能外,还有一个更有用的作用就是可以返回在函数中产生的值或对象。。。。

本文主要探讨这 2 个过程在 ASP 里的应用。。。。

在上面的介绍中,相信大家对 Sub 和 Function  有一定了解了。。。。

估计很多朋友会在想,既然 Function 具有 Sub 的功能,那我全用 Function 好了。。。。

呵呵,未尝不可。。。。但是。。。。却有个问题。。。。
在 ASP 的脚本执行机制里。。。。

Sub(以下简称 S )和 Function(以下简称 F )是有区别的。。。。

一个脚本程序(就是一个 ASP 文件)在 IIS 里执行时,

S 是子例程,也就是程序的 子程序 。。。。

而 F 是函数。。。。也就是具备随时被调用或者被传值的功能。。。。

因此,在被执行解析的过程中,这 2 者是有区别的。。。。

S 是在脚本程序被执行,被记录,然后跳过,遇到 Call 调用时,才读取解析,然后执行的。。。。

而 F 却不是,F 是在脚本被执行时,就事先被读取解析,当遇到调用时,执行。。。。

也就是说,

你的脚本里,如果有 1000 个 S  ,只要你不 Call  调用,这 1000 个 S  都不会被解析执行。。。。

但,如果有 1000 个 F 。。。。就完全相反了。。。。这 1000 个 F 都会被事先解析,存入内存,等待脚本执行时被调用,直到脚本执行完毕,才释放内存。。。。哪怕你脚本里根本没调用。。。。也一样会被事先解析。。。。

因此。。。。使用 S  和 F  是有区别的。。。。

不能随便用。。。。这将影响到你的 ASP 执行效率。。。。

Sub 多用在一段程序是一个整体,会被多处使用时,把这段程序抽取出来,方便多处调用。。。。

比如,执行一个删除,

我们没必要每次都写一个 Conn.Execute( delete from [表] where id = ) 可以打包到一个 Sub 里。。。。传递一个参数,就执行了。。。。

Function 多用在对 一段会被多处使用 需要执行 对比、判断、或者 返回一个 值 或 对象 的程序 进行打包。。。。

比如,我需要对一个字符串进行特殊处理后得到一个全新的字符串来进行匹配,

A = “A/S/4/SDF/35T/ERF/34/ERF/35/TR/DSG3/3/T4R3G”

我需要判断这个 A 包含的 F 字母是否多于 2 个。。。。

并且可能是需要多处使用到,

那么,我们就可以把这个过程打包。。。。

又基于要得出一个新的 A 进行比对(是否多于 2 个),这时,我们就可以使用函数 Function  来处理了。。。。
复制内容到剪贴板
代码:
Function ChuliA( zifuchuanA )

' 处理 zifuchuanA 的程序……
' 处理 zifuchuanA 的程序……
' 处理 zifuchuanA 的程序……

ChuliA = zifuchuanA  ' 处理完后,把 zifuchuanA 这个新值返回。。。。

End Function
调用时,可以 If ChuliA( A ) > 2 Then 直接用了。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值