VBScript Tutorials - Herong's Tutorial Examples - v6.02, by Herong Yang
Example - Passing Arguments by Reference
This section provides a tutorial example on how to pass arguments by reference to swap values passed through procedure arguments.
To see how passing arguments by reference works, I wrote the following example, function_swap_by_ref.html:
<html> <body> <!-- function_swap_by_ref.html - Copyright (c) 1998 HerongYang.com. All Rights Reserved. --> <pre> <script language="vbscript"> document.writeln("") document.writeln("Test 1: Swapping two literals by reference") document.writeln(" Before Sub: " & "Apple" & " | " & "Orange") Call SwapByRef("Apple", "Orange") document.writeln(" After Sub: " & "Apple" & " | " & "Orange") vFirst = "Dog" vSecond = "Cat" document.writeln("") document.writeln("Test 2: Swapping two variables by reference") document.writeln(" Before Sub: " & vFirst & " | " & vSecond) Call SwapByRef(vFirst, vSecond) document.writeln(" After Sub: " & vFirst & " | " & vSecond) Sub SwapByRef(ByRef vLeft, ByRef vRight) vTemp = vLeft vLeft = vRight vRight = vTemp document.writeln(" In Sub: " & vLeft & " | " & vRight) End Sub </script> </pre> </body> </html>
Here is the output:
Test 1: Swapping two literals by reference Before Sub: Apple | Orange In Sub: Orange | Apple After Sub: Apple | Orange Test 2: Swapping two variables by reference Before Sub: Dog | Cat In Sub: Cat | Dog After Sub: Cat | Dog
Here are my notes about this example:
Table of Contents
Introduction of VBScript - Visual Basic Scripting Edition
Variant Data Type, Subtypes, and Literals
Numeric Comparison Operations and Logical Operations
String Operations - Concatenation and Comparison
Variable Declaration and Assignment Statement
Expression and Order of Operation Precedence
Statement Syntax and Statement Types
Array Data Type and Related Statements
Array References and Array Assignment Statements
Conditional Statements - "If ... Then" and "Select Case"
Loop Statements - "For", "While", and "Do"
►"Function" and "Sub" Procedures
"Function" Statement and Function Call
"Sub" Statement and Subroutine Call
Sub (Subroutine) Procedure Example
Passing Arguments to Procedures
►Example - Passing Arguments by Reference
Example - Passing Arguments by Value
Example - Variable Scope in Procedures
Inspecting Variables Received in Procedures
Error Handling Flag and the "Err" Object
Regular Expression Pattern Match and Replacement
scrrun.dll - Scripting Runtime DLL Library
IE Web Browser Supporting VBScript