Paso de Parámetros 19 de Abril de 2007
Examine este Código Dim UnaVar UnaVar = 10 Function QueValor(UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write "Valor Original: " & UnaVar & " " Document.Write QueValor(UnaVar) & " " Document.Write "Valor Final: " & UnaVar & " " ej083.html
Código Modificado Dim UnaVar UnaVar = 10 ByVal Function QueValor(ByVal UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write "Valor Original: " & UnaVar & " " Document.Write QueValor(UnaVar) & " " Document.Write "Valor Final: " & UnaVar & " " ej084.html
Más Código Modificado Dim UnaVar UnaVar = 10 ByRef Function QueValor(ByRef UnValor) QueValor = UnValor * 10 UnValor = UnValor + 5 End Function Document.Write "Valor Original: " & UnaVar & " " Document.Write QueValor(UnaVar) & " " Document.Write "Valor Final: " & UnaVar & " " ej085.html
Paso Por Valor ByVal en el código Saca una copia de la variable Usa esa copia en la sub o function No modifica el valor original
Paso Por Referencia Trabaja con el mismo espacio de memoria La referencia de memoria En el sub o function puede tener otro nombre Se modifica el valor de la variable original
Diferencias Entre Lenguajes Algunos lenguajes usan solo un tipo Ej: Java Todo se pasa por referencia Casi todo es un objeto Menos los tipos primitivos byte, integer, long, boolean, char Para pasar un byte por referencia Se convierte a objeto