VB에서 형식 매개변수를 선언하는 방법에는 두 가지가 있습니다. 하나는 ByVal이고 다른 하나는 ByRef입니다. ByVal인 경우 매개변수를 수정할 때 서브루틴에 실제 매개변수의 복사본이 전달됩니다. 원래 매개변수에는 영향을 주지 않습니다. ByRef인 경우 실제 매개변수의 포인터가 서브루틴에 전달되고 서브루틴에 의한 매개변수 수정은 원래 매개변수의 값에 영향을 미칩니다.
| 파일 이름: | ByVal.asp | ByRef.asp |
| 특정 코드: | <% 하위 테스트메인() 희미한 A : A=5 TestBy(A) 호출 응답.A를 쓰세요 서브 끝 하위 테스트By(ByVal T) 티=티+1 하위 종료 callTestMain() %> | <% 하위 테스트메인() 희미한 A : A=5 TestBy(A) 호출 응답.A를 쓰세요 서브 끝 하위 테스트By(ByRef T) 티=티+1 하위 종료 callTestMain() %> |
| 실행 결과: | 5 | 6 |
| 결론적으로: | 참고: 서브루틴 TestBy(ByVal T)에서 T 변수의 선언 방법은 ByVal입니다. 결과 서브루틴을 실행해도 A 값에는 영향을 주지 않습니다. | 참고: 서브루틴 TestBy(ByRef T)에서 T 변수의 선언 방법은 ByRef입니다. 실행 결과 A의 값이 서브루틴을 통해 변경되었습니다. |