您的位置:首页 > 编程语言 > VB

VBScript的中ByRef和ByVal的不同

2015-10-17 21:52 260 查看
在VBScipt中ByRef表示的是地址的变化,而ByVal表示的是值得变化,比如

Dim i,j

i=1

j=1

Function ByRefValue(ByRef val1)

val1=val1+1

End Function

Function ByValValue(ByVal val2)

val2=val2+1

End Function

ByRefValue i

ByValValue j

MsgBox i&vbCrlf&j

结果就是

用通俗点的例子说明的话可以这样子想:

i 相当于一个苹果,j 相当于一个梨,地址就是你的桌子;

1)执行 ByRef 时就相当于一个人知道你的地址,就是知道你的桌子(地址)在哪,他过去在你的桌子上又放了一个梨( j ),那么你的桌子上就有一个苹果( i )和一个梨( j
)了,i和j相加就是2了。

2)而执行 ByVal 时相当于一个人不知道你的桌子(地址)在哪,他就随便找了一张桌子(临时地址)把梨( j )放在那了,这样子你的桌子上的苹果并没有变化,就是说你桌子上的苹果( i )没有变,所以执行之后值还是1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: