ByRef and ByVal are two ways to pass arguments to a function or subroutine in VBScript. Understanding the difference between two is simple.
Let us start with ByVal. Suppose a function or subroutine has an argument which accepts a variable with byval,suppose a variable x is passed as argument to the function, The value of variable does not change once the function is executed successfully.
Now let us move to ByRef. ByRef means passing value as a reference. Suppose a function or subroutine has an argument which accepts a variable with byref, suppose variable x is passed as argument to the function, The value of variable changes once the function is executed successfully.
Writing the below function in a notepad and running as a vbscript will help to differentiate ByVal and ByRef
By Ref Code:
Dim x
x= 5
call squareofNumber(x)
msgbox x
Function squareofNumber(ByRef varx)
varx = varx*varx
msgbox varx
End function
ByVal Code:
Dim x
x= 5
call squareofNumber(x)
msgbox x
Function squareofNumber(Byval varx)
varx = varx*varx
msgbox varx
End function
By default, if we do not provide ByVal or Byref, it takes the argument as ByRef.
Comments
Post a Comment