Manual de ASP

 
 
 

Mapa Web

 
borde   borde
Portada Alcance de las variables

 

Alcance de las variables

El alcance , o vida, de una variable determina qué comandos de secuencia de comandos pueden tener acceso a dicha variable. Una variable declarada dentro de un procedimiento tiene alcance local ; la variable se crea y se destruye cada vez que se ejecuta el procedimiento. No se puede tener acceso a ella desde fuera del procedimiento. Una variable declarada fuera de un procedimiento tiene alcance global ; su valor es accesible y modificable desde cualquier comando de secuencia de comandos de una página ASP.

Nota: Al limitar el alcance de la variable a un procedimiento mejorará el rendimiento.

Si declara variables, una variable local y una variable global pueden tener el mismo nombre. La modificación del valor de una de ellas no afecta al valor de la otra. Sin embargo, si no declara las variables, podría modificar inadvertidamente el valor de una variable global. Por ejemplo, los siguientes comandos de secuencia de comandos devuelven el valor 1 incluso aunque haya dos variables llamadas Y:

 <% Option Explicit 
Dim Y
Y = 1
SetLocalVariable
Response.Write Y
Sub
SetLocalVariable
Dim Y
Y = 2
End Sub
%>

Por el contrario, los comandos siguientes devuelven el valor 2 porque las variables no se han declarado de forma explícita. Cuando la llamada al procedimiento asigna a Y el valor 2, el motor de secuencias de comandos da por supuesto que el procedimiento pretende modificar la variable global:

 <% Option Explicit
Dim Y = 1
SetLocalVariable
Response.Write Y
Sub
SetLocalVariable Y = 2
End Sub %>

Para evitar problemas , adquiera el hábito de declarar explícitamente todas las variables. Lo cual es especialmente importante si utiliza la instrucción #include para incluir archivos en su archivo ASP. La secuencia de comandos incluida está contenida en un archivo aparte, pero se trata como si formara parte del archivo contenedor. Es muy fácil olvidarse de que hay que utilizar nombres de variables diferentes en la secuencia de comandos principal y en la secuencia de comandos incluida, a menos que declare las variables.

Asignar a las variables alcance de sesión o de aplicación

Las variables globales sólo son accesibles en un mismo archivo ASP. Para hacer que una variable sea accesible en varias páginas, asigne a la variable alcance de sesión o de aplicación. Las variables con alcance de sesión están disponibles en todas las páginas de una aplicación ASP que pida un mismo usuario. Las variables con alcance de aplicación están disponibles en todas las páginas de una aplicación ASP que pida cualquier usuario. Las variables de sesión son una buena manera de almacenar información para un único usuario, como sus preferencias o el nombre o la identificación del usuario. Las variables de aplicación son una buena manera de almacenar información para todos los usuarios de una determinada aplicación, como los saludos específicos o los valores generales necesarios en la aplicación.

ASP proporciona dos objetos integrados en los que puede almacenar variables: el objeto Session y el objeto Application .

También puede crear instancias de objetos con alcance de sesión o de aplicación. Para obtener más información, consulte Establecer el alcance de los objetos.

Capítulo anterior:
Introducción a las variables

Capítulo siguiente:
Alcance de sesión y Alcance de aplicación

 

 
Portada
Capítulos del Manual de ASP
Crear una Página ASP
Agregar secuencias de comandos del servidor
Combinar HTML y comandos de secuencias de comandos
Utilizar directivas ASP
Espacio en Blanco en las secuencias de comandos
Introducción a las variables
Alcance de las variables
Alcance de sesión y Alcance de aplicación
Utilizar Constantes
Interactuar con secuencias de comandos del cliente
Escribir y Definir Procedimientos
Llamar a Procedimientos
Procesar los datos proporcionados por el usuario
La colección QueryString y la colección Form
Validar los datos de los formularios
Origen de Datos
Utilizar el objeto recordset para manipular resultados
Combinar formularios y el acceso a la base de datos
Transferencia entre archivos ASP
Practicar en línea
Lista de prácticas en línea
FAQ
Preguntas frecuentes
Códigos ASP
Lista de Códigos ASP
Foros
Foros ASP
Otros Manuales
Manuales de otros lenguajes
 
   
 
 
Alojamiento web en Hostalia