VB 中Sub和Function的区别
Sub可以理解为执行一个过车,一个操作。
Function在执行完过后,还要返回一个结果。
Sub:过程;Function:函数,可以带返回值。
语法:
Sub SubName(参数1,参数2,...)
...
End Sub
Function FunctionName(参数1,参数2,...)
...
FunctionName=返回值
End Function
调用时:
Sub 只能用: SubName(参数1,参数2,...) 变量=FunctionName(参数1,参数2,...)
以上均未讲出根本:
Sub与Function均可以有返回值。所以首先要讲清楚返回方式:有两种,过程或函数返回,即分配与过程或函数同名的返回变量地址。Function分配,但Sub不分配。VB有此方式加以区分,VC则用void声明不用分配。即如p=aa(),若aa()时sub则什么也的不懂,还会报错。但函数则会得到相应的数值。其次,参数返回,VB中缺省用地址传参,即能返回。但声明为BYVAL即值传参,则不可返回,所以,不存在灵活性的差别。比如函数function bb(a,b),
调用时可以bb m, n也可以p=bb(m,n).
实际,如果确认不会失败,才能用SUB,否则,必须要用FUNCTION以确认是否成功或取得返回值。所以编程,应少用SUB,少用 SubName 参数1,
参数2,...的调用方式。
sub是过程不需要返回值,function是函数,需要返回值,如下:
Function
NameOfFunction(parameter1, parameter2)
'some code
NameOfFunction = return
value
End Function
________________________________________________
Sub
NameOfSubRoutine(parameter1, parameter2)
'some code...
End Sub
VB 中Sub和Function的区别的更多相关文章
- VB中的+与&符号的区别
字符串运算符和字符串表达式 字符串运算符的作用是将两个字符串连接成一个字符串,经常形象的叫做连接符. 在VB中就提供了两种连接用的字符串运算符 “&”.“+” 例如 “VB”+“编程入门” ...
- VB.NET中Sub和Function的区别
function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有 function 可以用自身名字返回一个值,sub 需定义别的变量,用传址方式传回值. Sub 过程与Functio ...
- vb中的null.nothing.empty区别
以下内容源自互联网: 变量 A.B.C.D 分别等于 0."".Null. Empty. Nothing 的哪一个? Dim A Dim B As String Dim C As ...
- (转载)VB中ByVal与ByRef的区别
ByVal是按值传送,在传的过程中不会改变原来的值,仅仅传送的是一个副本, 而 ByRef相反,从内存地址来说,后者是同一个内存地址. ByVal 与 ByRef(默认值)这两个是子过程的参数传递时, ...
- window.onload和JQuery中$(function(){})的区别即其实现原理
一.区别 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. 在Jquery中$(function(){ })和$(document).ready(function(){ ...
- VB中 '&' 和 '+' 号的区别
释义 &(Ampersand)是英语单字and之代表符号,亦可用作中文中的“和”.“与”之代表符号.这个符号源于拉丁文的et的连写. 可读做 ampersand,即 "and per ...
- VB中 ByRef与ByVal区别
函数调用的参数传递有"值传递"和"引用传递"两种传递方式.如果采用"值传递",在函数内部改变了参数的值,主调程序的对应变量的值不会改变:如果 ...
- JavaScript中函数function fun(){}和 var fun=function(){}的区别
function fun(){} 和 var fun=function(){}的区别 标题有点长···· 废话少说,其实他们的主要区别就是"函数声明的提前行为". var fun= ...
- Jquery中$("").事件()和$("").on("事件","指定的元素",function(){});的区别(jQuery动态绑定事件)
这个是在学习时不懂的问题,记录下来方便查看 转至https://www.cnblogs.com/mr-wuxiansheng/p/7136864.html //绑定 下一页 的点击事件 $(" ...
随机推荐
- myhandle
#ifndef my_handle_h #define my_handle_h #include <stdint.h> #include "mydef.h" #incl ...
- Java条件语句练习
/*System.out.println("请输入三个数字:");//输入三个数字,返回最大的那个. int a,b,c,big; Scanner d = new Scanner( ...
- 查看cpu
使用系统命令top即可看到如下类似信息: Cpu(s): 0.0%us, 0.5%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st ...
- 【转】javascript打印设置
页面中的代码:<OBJECT id="WebBrowser1" height="0" width="0" classid ...
- IIS7 404 模块 IIS Web Core 通知 MapRequestHandler 处理程序 StaticFile 错误代码 0x80070002
<system.webServer> <!--添加--> <modules runAllManagedModulesForAllRequests="true&q ...
- 清华微积分-1_Ch1习题
U3-1 Here are some sets: (1) R both and (2) ∅ both and (3) (1,+∞) open set (4) [−1,0] closed set, - ...
- UIView点击事件。弹出视图,背景虚化。
@interface CountryViewController //背景 @property (strong, nonatomic) UIView *BackView; end //设置背景虚化 - ...
- leetcode Online Judge 150题 解答分析之一 Reverse Words in a String
问题 Given an input string, reverse the string word by word. For example, Given s = "the sky is b ...
- Android添加代码检查权限
1,首先创建一个项目,然后创建一个类,hello.java public class hello { public static final String PERMISSION_SAY_HELLO = ...
- UGUI与DOtween的坑
在使用ugui和dotween做动画时,如使用transform.DoMoveX,.DoLocalMoveX,.DoMove,.DoLocalMove等方法时,动画效果有可能是错误的,什么时候错误呢? ...