当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > VBScript教程 第九课

HTML/XHTML教程
showModelessDialog()使用详解
UBB 转换函数演示
用js封装的时间设置器
跟我学XSL(一)
跟我学XSL(二)
深入了解CSS的继承性及其应用
从HTML语言到网上家园 序章
从HTML语言到网上家园 第一章 HTML语言结构
从HTML语言到网上家园 第六章 表单
由显示/隐藏引出的CSS Bug
在因特网上建设自己的家园
主页设计中配色方案的使用(上)
什么是Web设计-Web设计的金字塔
什么是Web设计-为用户设计
什么是Web设计-建设Web站点
什么是Web设计-从纸张到软件
家园更美丽:网页制作秘籍
从菜鸟到准网页设计师
突破网页文字无法复制局限
网页制作超级技巧(一)

HTML/XHTML教程 中的 VBScript教程 第九课


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 74 ::
收藏到网摘: n/a

过程分类

在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程。

Sub 过程

Sub 过程是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句,执行操作但不返回值。Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。

下面的 Sub 过程使用两个固有的(或内置的)VBScript 函数,即 MsgBox 和 InputBox,来提示用户输入信息。然后显示根据这些信息计算的结果。计算由使用 VBScript 创建的 Function 过程完成。此过程在以下讨论之后演示。

Sub ConvertTemp()
temp = InputBox("请输入华氏温度。", 1)
MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"
End Sub

Function 过程

Function 过程是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,但是 Function 过程可以返回值。Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()。Function 过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是 Variant。

在下面的示例中,Celsius 函数将华氏度换算为摄氏度。Sub 过程 ConvertTemp 调用此函数时,包含参数值的变量被传递给函数。换算结果返回到调用过程并显示在消息框中。

Sub ConvertTemp()
temp = InputBox("请输入华氏温度。", 1)
MsgBox "温度为 " & Celsius(temp) & " 摄氏度。"
End Sub

Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function

过程的数据进出

给过程传递数据的途径是使用参数。参数被作为要传递给过程的数据的占位符。参数名可以是任何有效的变量名。使用 Sub 语句或 Function 语句创建过程时,过程名之后必须紧跟括号。括号中包含所有参数,参数间用逗号分隔。例如,在下面的示例中,fDegrees 是传递给 Celsius 函数的值的占位符:

Function Celsius(fDegrees)
Celsius = (fDegrees - 32) * 5 / 9
End Function

要从过程获取数据,必须使用 Function 过程。请记住,Function 过程可以返回值;Sub 过程不返回值。

在代码中使用 Sub 和 Function 过程

调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。例如:

Temp = Celsius(fDegrees)

MsgBox "温度为 " & Celsius(fDegrees) & " 摄氏度。"

调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。

下面的示例显示了调用 MyProc 过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。

Call MyProc(firstarg, secondarg)
MyProc firstarg, secondarg

请注意当不使用 Call 语句进行调用时,括号被省略。