【学习随笔】由UFT脚本语言对VBS中Sub与Function简单区别
2016-09-22 00:00
218 查看
举个形象的例子,过程(Sub)就是我拍了一下桌子,而函数(Function)就是我拍了一下桌子,结果是手疼。
####定义
Sub:过程
Function:函数
####语法
Sub:
Function:
####调用方法
Sub:
Function:
####区别
由此,Function一般是有返回值的,而Sub一定是没有返回值
####注意
Sub与Function均可有返回值。对于返回方式有两种:过程或函数返回,即分配与过程或函数同名的返回变量地址。Function分配,但Sub不分配。VB用此方式加以区分,VC则用void声明不用分配。
如p=a(),如果a()是sub则什么也得不到,还会报错。但如果是函数则会得到数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为ByVal即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function b(a,b), 调用时可以b m, n也可以p=b(m,n).
实际,如果确认不会失败,才能用Sub,否则,必须要用Function以确认是否成功或取得返回值。所以编程,应少用SUB,少用 subName 参数1, 参数2,...的调用方式。
####定义
Sub:过程
Function:函数
####语法
Sub:
Sub subName(parameter1,parameter2,...) 函数体 End Sub
Function:
Function functionName(parameter1,parameter2,...) 函数体 functionName=result value End Function
####调用方法
Sub:
subName parameter1,parameter2,...
Function:
result=functionName(parameter1,parameter,...) functionName parameter1,parameter2,...
####区别
由此,Function一般是有返回值的,而Sub一定是没有返回值
####注意
Sub与Function均可有返回值。对于返回方式有两种:过程或函数返回,即分配与过程或函数同名的返回变量地址。Function分配,但Sub不分配。VB用此方式加以区分,VC则用void声明不用分配。
如p=a(),如果a()是sub则什么也得不到,还会报错。但如果是函数则会得到数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为ByVal即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function b(a,b), 调用时可以b m, n也可以p=b(m,n).
实际,如果确认不会失败,才能用Sub,否则,必须要用Function以确认是否成功或取得返回值。所以编程,应少用SUB,少用 subName 参数1, 参数2,...的调用方式。
相关文章推荐
- 脚本语言对比学习随笔
- VBS中Sub与Function的区别
- 脚本语言Lua简单入门学习笔记
- 通过实例学习Virtools脚本语言VSL - 将物体排列于圆周上
- 为学习APUE(Unix环境高级编程)偷懒,而写的脚本,基本上相当于一个简单的工程创建脚本了
- javascript学习随笔(编写浏览器脚本 Navigator Scripting )
- javascript学习随笔(编写浏览器脚本 Navigator Scripting )
- 开始学习一下脚本语言
- 通过实例学习Virtools脚本语言VSL - 解析字符串
- sub和function的区别
- HTML教程,简单学习HTML语言
- 通过实例学习Virtools脚本语言VSL - 合并字符串
- Delphi中的集成VBS脚本语言应用
- 通过实例学习Virtools脚本语言VSL - 合并字符串
- 通过实例学习Virtools脚本语言VSL - 解二次方程
- asp 里面 sub 和function 的区别 已经很多次了 这次一定要记住
- 通过对一个病毒源码的分析,了解VBS脚本语言的应用
- 最近写了一个简单的面向对象的脚本语言 Q 语言
- SQL脚本语言学习黑客篇
- 蜀门Online 简单打怪脚本(vbs)