VBScript的中ByRef和ByVal的不同

本文详细解释了VBScript中ByRef和ByVal两种参数传递方式的区别。通过具体示例展示了ByRef改变变量地址处的值,而ByVal只修改传入值的副本,不影响原变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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

结果就是


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

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

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

2)而执行 ByVal 时相当于一个人不知道你的桌子(地址)在哪,他就随便找了一张桌子(临时地址)把梨( )放在那了,这样子你的桌子上的苹果并没有变化,就是说你桌子上的苹果( )没有变,所以执行之后值还是1。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值