ByVal 按值传递(ByValue),意思是传入的形式参数改变了,但是不影响实际参数的数值
比如
在一个函数fn()有参数para,是byval的,
那么在函数里面如果有语句para=999,
有变量dim p as integer = 100;
那么调用
fn(p)
之后,p的值仍然是100,而不是999,函数里面的修改不影响外面的变量 谁能给我说详细点啊,最好些个函数解释一下,谢谢!
比如
在一个函数fn()有参数para,是byval的,
那么在函数里面如果有语句para=999,
有变量dim p as integer = 100;
那么调用
fn(p)
之后,p的值仍然是100,而不是999,函数里面的修改不影响外面的变量 谁能给我说详细点啊,最好些个函数解释一下,谢谢!
dim strTemp as string
dim strTempA as string strTemp = "abc" '初始值
strTempA = "bcd" '初始值
'调用BB
Call BB(strTemp,strTempA) '当参数传入
'在这里输出的话,你会看到strTemp还是abc,而strTempA已经变成ddd了
'这个差不多就是最基本的应用吧
end subprivate sub BB(byval str1 as string, byref str2 as string)'byref会回传
str1 = "ccc"
str2 = "ddd"
end sub
Dim i As Integer
i = 100
Debug.Print i '原始数据100
Changei (i)
Debug.Print i '实际上i还是100,没有变化
End Sub
Private Sub Changei(ByVal i As Integer)
i = i + 100 '数据加100,变成200
Debug.Print i
End Sub
那么在函数里面如果有语句para=999,
有变量dim p as integer = 100; 那么fn(p) p还是100
fn p p是999
call fn(p) p是999