国产探花免费观看_亚洲丰满少妇自慰呻吟_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是傳遞值 源數據不會被修改
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 漳浦县| 舞阳县| 灵台县| 冀州市| 斗六市| 保亭| 银川市| 革吉县| 栾川县| 临武县| 宣威市| 科技| 城市| 香河县| 洱源县| 姜堰市| 河池市| 理塘县| 游戏| 南宁市| 左权县| 鲁甸县| 湛江市| 沙雅县| 锡林郭勒盟| 广东省| 临猗县| 巴林右旗| 噶尔县| 大足县| 子洲县| 扶绥县| 通海县| 桐柏县| 临泽县| 上蔡县| 饶阳县| 鹰潭市| 慈利县| 沐川县| 马龙县|