VBS基础篇 - 过程(sub 与 Function)
在VBscript中,有两种procedure:Sub procedure与Function procedure
Sub过程:是包含在 Sub 和 End Sub 语句之间的一组 VBScript 语句。如果 Sub 过程无任何参数,则 Sub 语句必须包含空括号 ()。

Call GetName() '调用Sub过程
Sub GetName()
MsgBox "John" '输出字符串
End Sub 'Sub 过程可以使用参数(由调用过程传递的常数、变量或表达式)。实例代码如下: Call GetName("John") '调用Sub
Sub GetName(name)
MsgBox name '输出字符串
End Sub '注意:Sub过程是没有返回值

Function 过程:是包含在 Function 和 End Function 语句之间的一组 VBScript 语句。Function 过程与 Sub 过程类似,如果 Function 过程无任何参数,则 Function 语句必须包含空括号 ()

Call GetName() '调用Function
Function GetName()
MsgBox "John" '输出字符串
End Function 'Function 过程可以使用参数(由调用过程传递的常数、变量或表达式)
Call GetName("John") '调用Function
Function GetName(name)
MsgBox name '输出字符串
End Function 'Function 是有返回值的,通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function 返回值的数据类型总是Variant
getName "John" '调用Function
Function getName(name)
getName = name '设置返回值
End Function

如何调用过程
调用 Function 过程时,函数名必须用在变量赋值语句的右端或表达式中。
调用 Sub 过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔。不需使用 Call 语句,但如果使用了此语句,则必须将所有参数包含在括号之中。
下面的示例显示了调用过程的两种方式。一种使用 Call 语句;另一种则不使用。两种方式效果相同。
getName "John" '调用过程的第一种写法
Call getName("Candy") '调用过程的第二种写法
Sub getName(name)
MsgBox "我是"&name
End Sub
Sub与Function的区别:
Sub没有返回值,而Function有返回值。
Sub不能放在表达式中,而Function可以。
VBS基础篇 - 过程(sub 与 Function)的更多相关文章
- VBS基础篇 - VBScript过程
VBS基础篇 - VBScript过程 在 VBScript 中,过程被分为两类:Sub 过程和 Function 过程. Sub过程 Sub 过程是包含在 Sub 和 End Sub 语句之间的 ...
- VBS基础篇 - 对象(7) - TextStream对象
VBS基础篇 - 对象(7) - TextStream对象 TextStream对象是用于访问文本文件的对象,它是FileSystemObject一个独立的附属对象,但在使用TextStream对 ...
- VBS基础篇 - 循环语句(3) - For...Next
VBS基础篇 - 循环语句(3) - For...Next 指定循环次数,使用计数器重复运行语句,语法结构如下: 1 2 3 4 5 For counter = start To end [Ste ...
- VBS基础篇 - 循环语句(4) - For Each...Next
VBS基础篇 - 循环语句(4) - For Each...Next For Each...Next 循环与 For...Next 循环类似.For Each...Next 不是将语句运行指定的次 ...
- VBS基础篇 - 对象(1) - Class对象
VBS基础篇 - 对象(1) - Class对象 相信对JAVA有一定了解的朋友一定对类这个名词不陌生,但是大家可能没有想过在VBS中使用Class类吧,其实Class类在自动化测试中是相当常用的 ...
- VBS基础篇 - 对象(3) - FileSystemObject对象
VBS基础篇 - 对象(3) - FileSystemObject对象 文件系统是所有操作系统最重要的部分之一,脚本经常会需要对文件及文件夹进行访问和管理,在Vbs中对桌面和文件系统进行访问的顶级 ...
- VBS基础篇 - 对象(5) - File对象
VBS基础篇 - 对象(5) - File对象 描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得. 使用File对象 要用File对象模型来编程必须先用FileS ...
- VBS基础篇 - 对象(6) - Folder对象
VBS基础篇 - 对象(6) - Folder对象 描述:提供对文件所有属性的访问,从FSO对象的GetFile方法获得 使用Folder对象 要用Folder对象模型来编程必须先用FSO对象的G ...
- VBS基础篇 - 杂项 - Sendkeys
VBS基础篇 - 杂项 - Sendkeys 模拟键盘操作,将一个或多个按键指令发送到指定Windows窗口来控制应用程序运行 其使用格式为:object.SendKeys(string) obj ...
随机推荐
- iOS 开发 - 改善APP的流畅度 (绘制股票行情)
这几天做了一个查看股票行情的app. 完成之后,当k线比较多的时候,app 对于捏合.拖动手势的反应不太流畅, 主要原因是drawRect: 干的活太多, 竟然需要40ms+, fps 自然不高 最后 ...
- Scrum不是万能药,要在时机成熟时推行
敏捷很火热,大家都在谈敏捷:但不是所有团队都适合敏捷! 需要等待时机,时机成熟了,才推! 什么时候算时机成熟呢? 我们的经验是需要两点: 一.团队有三名或以上的研发工程师 : 二. 团队内有一名合适的 ...
- 【mysql】关于checkpoint机制
一.简介 思考一下这个场景:如果重做日志可以无限地增大,同时缓冲池也足够大,那么是不需要将缓冲池中页的新版本刷新回磁盘.因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据到宕机发生的时 ...
- PHP扩展开发相关总结
1.线程安全宏定义 在TSRM/TSRM.h文件中有如下定义 #define TSRMLS_FETCH() void ***tsrm_ls = (void ***) ts_resource_ex(0, ...
- Servlet/JSP-01 Servlet及其生命周期
一.起步 1.新建一个类继承Servlet接口 public class HelloServlet implements Servlet { @Override public void destroy ...
- 在Mac 系统上安装密码生成器
1.打开终端 2.输入 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/ins ...
- Maximum Subsequence Sum(接上篇)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...
- WCF 删除队列
Configuration config = ConfigurationManager.OpenExeConfiguration (ConfigurationUserLevel.None); Serv ...
- LeetCode题解-----First Missing Positive
Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0] ...
- 如何用dos命令运行testng
写好的自动化程序怎么让它运行呢,总不能每次都启动eclipse吧,下面就先介绍一种用dos命令运行testNG的方法. 1.把项目打成jar吧,我用的是Fat jar工具. 2.在电脑的某个盘建一个文 ...