在asp過程中有用到ByVal的參數(shù)傳值,不是很理解什么意思,查詢網(wǎng)絡(luò)得出結(jié)果還有一個是ByRef傳參.
詳細(xì)解釋一下ByVal和ByRef的意思:這兩個都是在vbscript過程中傳遞參數(shù)用的比如:
sub forasp_cn(ByVal a,ByVal b...)或者是sub forasp_cn(ByRef a,ByRef b...)
ByVal和ByRef的區(qū)別在于:ByVal是用來傳值的,而ByRef是用來傳址的."值"和"址"兩個不通的概念一定要弄清楚了.
ByVal傳值時不會影響到原來的值
ByRef傳址時會影響到原來的值
看下面的例子:
<%
Dim a =100'定義一個變量
Sub forasp_add(ByVal b)'設(shè)置ByVal過程,傳遞參數(shù)為b
b=b+1
End Sub
Sub forasp_add2(ByRef b)'設(shè)置ByRef過程,傳遞參數(shù)為b
b=b+1
End Sub
Call forasp_add(a)'調(diào)用第一個ByVal過程
response.write a'輸出100,過程中b的值為101
response.write "<BR>"'換行
Call forasp_add2(a)'盜用第二個ByRef過程
response.write a'因為是傳址,所以a的址的值是100,當(dāng)調(diào)用+1時,a的值同時加1,所以a為101,b的值也為101
%>
使用ByVal,實際參數(shù)不變,形參變化
使用ByRef,實參變化,形參也變化
更多信息請查看IT技術(shù)專欄