国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

vbs(asp) ByVal ByRef函數調用使用說明

2019-10-26 18:01:49
字體:
來源:轉載
供稿:網友

1、ByVal傳值:一種將參數值而不是將地址傳遞給過程的方式,這就使過程訪問到變量的復本。結果,過程不可改變變量的真正值。 
2、ByRef傳值:一種將參數地址而不是將值傳遞給過程的方式,這就使過程訪問到實際的變量。結果,過程可改變變量的真正值。除非另作說明,否則按地址傳遞參數。  
3、系統默認的是ByRef傳值。

例子:

復制代碼 代碼如下:

<SCRIPT LANGUAGE="vbScript">
dim a
a=0
document.write "a=0"
document.write "<br/>sub change(byref ar)<br/>"
change a
document.write a
a=0
document.write "<br/>sub change2(ByVal ar)<br/>"
change2 a
document.write a
a=0
document.write "<br/>sub change3( ar)<br/>"
change3 a
document.write a
a=0
document.write "<br/>function change4(byref ar)<br/>"
change4 a
document.write a
a=0
document.write "<br/>function change5(ByVal ar)<br/>"
change5 a
document.write a
a=0
document.write "<br/>function change6( ar)<br/>"
change6 a
document.write a
a=0
sub change(byref ar)
ar=111
end sub
sub change2(ByVal ar)
ar=222
end sub
sub change3( ar)
ar=333
end sub
function change4(byref ar)
ar=444
end function
function change5(ByVal ar)
ar=555
end function
function change6( ar)
ar=666
end function
</SCRIPT>

=======================
結果:
a=0
sub change(byref ar)
111
sub change2(ByVal ar)
0
sub change3( ar)
333
function change4(byref ar)
444
function change5(ByVal ar)
0
function change6( ar)
666
說明vbs默認是byRef,這點和VB一樣, 按地址。

再給出一個小例子,大家運行看效果!
復制代碼 代碼如下:

<%
Dim i,j,p,m
i = 10
j = 12
Response.Write i&"******"&j&"<br>"
Call Fun2 (i,j)
Response.Write i&"******"&j&"<br>"
i = 10
j = 12
Call Fun (i,j)
Response.Write i&"*******"&j&"<br>"
Function Fun2 (a,b)
a = 5
b = 6
Fun2 = 0
End Function
Function Fun (ByVal a,ByRef b)
a = 5
b = 6
Fun = 0
End Function
%>

通過上面的例子你可以發現:
1、ByVal傳值沒有改變全局變量的值。
2、ByRef傳值改變了全局變量的值。
3、系統默認的是ByRef傳值。

至于應該在什么時候使用嗎?這就要看自己的實際情況了!

ByVal 傳送參數內存的一個拷貝給被調用者。也就是說,棧中壓入的直接就是所傳的值。
ByRef 傳送參數內存的實際地址給被調用者。也就是說,棧中壓入的是實際內容的地址。被調用者可以直接更改該地址中的內容。
ByVal是傳遞值 源數據不會被修改
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 隆子县| 兴隆县| 兴宁市| 车险| 宣化县| 韶关市| 宽甸| 岑溪市| 连城县| 谷城县| 工布江达县| 怀安县| 沙河市| 东阿县| 抚远县| 婺源县| 河源市| 南和县| 樟树市| 车致| 义马市| 道真| 鄄城县| 三亚市| 长武县| 洪泽县| 昌平区| 灵武市| 乌拉特前旗| 浦县| 梅河口市| 嘉定区| 循化| 新密市| 津南区| 郓城县| 卢龙县| 樟树市| 沙坪坝区| 广西| 土默特左旗|