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。
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。
相关文章推荐
- 三、在何处放置 VBScript
- VB传值和传地址问题
- 难点:VBScript 过程
- 一、VBScript 简介
- 初学vbs一些小代码与小成果
- VBScript过程
- VBScript运算符
- VBScript基础
- VB6.0 支持鼠标滚轮教程
- vlc播放视频(加载视频到内存,解码rmvb视频出现马赛克)
- VirtualBox使用VBoxManage 命令调整分辨率
- Base64算法函数VB6
- 【VBA研究】智力游戏-蓝色方块
- VBscript常用函数
- vbscript编程练习题目
- 自己写的实用VBA代码合集√
- 自己写的实用VBA代码合集
- vb 无边框窗体拖动
- VB+DX游戏编程教程 第五话:2D精灵
- vbs代码如何使用Wscript调试