(转载)VB中ByVal与ByRef的区别

ByVal是按值传送,在传的过程中不会改变原来的值,仅仅传送的是一个副本,

ByRef相反,从内存地址来说,后者是同一个内存地址。

ByVal 与 ByRef(默认值)
这两个是子过程的参数传递时,指定参数按什么传递的
ByVal(按值传递)
ByRef(按地址传递)

具体可看下面例子:

Dim A as integer,B as integer
A=1
B=2
Call fun01(A,B)
Print A,B   ‘得到的结果是2    3  (形参的改变影响到了实参,即现在A=2,B=3)
Call fun02(A,B)
Pring A,B   ‘得到的结果跟上面的一样,2    3(形参的改变并没有影响到这个实参)

Sub fun01(I as integer,J as integer)  ‘默认,则按址传递
i=i+1
J=J+1
End Sub

Sub fun02(ByVal I as integer,ByVal J as integer)   ‘按值传递
i=i+1
J=J+1
End Sub

时间: 2024-08-25 16:22:40

(转载)VB中ByVal与ByRef的区别的相关文章

转载http中302与301的区别

http://blog.csdn.net/qmhball/article/details/7838989 一.官方说法301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved).302 redirect: 302 代表暂时性转移(Temporarily Moved ). 这是很官方的说法,那么它们的区别到底是什么呢? 二.现实中的差异2.1.对于用户301,302对用户来说没有区别

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

[转载]js中__proto__和prototype的区别和关系

首先,要明确几个点:1.在JS里,万物皆对象.方法(Function)是对象,方法的原型(Function.prototype)是对象.因此,它们都会具有对象共有的特点.即:对象具有属性__proto__,可称为隐式原型,一个对象的隐式原型指向构造该对象的构造函数的原型,这也保证了实例能够访问在构造函数原型中定义的属性和方法. 2.方法(Function)方法这个特殊的对象,除了和其他对象一样有上述_proto_属性之外,还有自己特有的属性--原型属性(prototype),这个属性是一个指针,

(转载)jquery中attr和prop的区别

最近一直在学习jquery checkbox选中事件判断,总结来说可以使用以下这种方式判断一个checkbox是否选中: if ( elem.checked ) if ( $( elem ).prop( "checked" ) ) if ( $( elem ).is( ":checked" ) ) 第一个是js原生代码,特别注意的是$( elem ).attr( "checked" )是没有办法判定一个checkbox是否会选中.jquery官网

转载-VB中禁用文本框右键菜单等功能

'========================================================== '| 模 块 名 | TextBoxDisableAbility '| 说 明 | 禁止文本框的功能 '==========================================================Option Explicit Private Declare Function SetWindowText Lib "user32" Alias &

VB中 ByRef与ByVal区别

函数调用的参数传递有"值传递"和"引用传递"两种传递方式.如果采用"值传递",在函数内部改变了参数的值,主调程序的对应变量的值不会改变:如果采用"引用传递",在函数内部改变了参数的值,主调函数对应变量的值也会发生相应的改变."值传递"的实质传递一个变量的"值拷贝","引用传递"的实质是传递一个变量的"地址".在VB中ByRef表示引用传递,ByVa

转载:C#中ref和out的区别浅析

这篇文章主要介绍了C#中ref和out的区别浅析,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢,需要的朋友可以参考下 在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN:        ref 关键字使参数按引用传递.其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中.若要使用 ref 参数,则方法定义和调用方法都

oracle中函数和存储过程的区别和联系【转载竹沥半夏】

oracle中函数和存储过程的区别和联系[转载竹沥半夏] 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,但也有自己的特点.刚学完函数和存储过程,下面来和大家分享一下自己总结的关于函数和存储过程的区别. 一.存储过程 1.定义 存储过程是存储在数据库中提供所有用户程序调用的子程序,定义存储过程的关键字为procedure. 2.创建存储过程 create [or replace] procedure 存储过程名 [(参数1 类型,参数2 out 类型……)] as

【转载】Spring中DispatcherServlet与ContextLoaderListener的区别

昨天在写springmvc的时候,在web.xml中配置了DispatcherServlet,如下: <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>