VB中形參聲明有兩種方式,一種是ByVal,一種是ByRef,如果是ByVal則在傳遞參數時將實參的一個拷貝傳遞給子程序,子程序對參數的修改不會影響原有參數。如果是ByRef,則將實參的指標傳遞給子程序,子程序對參數的修改會影響原有參數的值。
| 文件名稱: | ByVal.asp | ByRef.asp |
| 具體代碼: | <% Sub TestMain() Dim A : A=5 Call TestBy(A) Response.write A End Sub Sub TestBy(ByVal T) T=T+1 End sub call TestMain() %> | <% Sub TestMain() Dim A : A=5 Call TestBy(A) Response.write A End Sub Sub TestBy(ByRef T) T=T+1 End sub call TestMain() %> |
| 運行結果: | 5 | 6 |
| 結論: | 注意:子程序TestBy(ByVal T)中T變數宣告方式是ByVal 運行結果子程式沒有影響到A的值 | 注意:子程序TestBy(ByRef T)中T變數的宣告方式是ByRef 運行結果A的值透過子程序發生了改變 |