2 min de lectura

De acuerdo con su traducción literaria, el “scope” es el alcance de una variable. Este determina en qué parte del código puede ser utilizada cierta variable, dependiendo de cómo y en qué sitio fue declarada.

Las variables declaradas fuera de cualquier función tienen un alcance global, es decir, en toda la ventana, lo que significa que su valor puede ser usado o reasignado en cualquier otra función.

Alcances de las variables según su declaración

Usemos como ejemplo el código siguiente (el cual encontrarás en el siguiente enlace de Github):
https://github.com/Pinsec/Scopes-y-Closures/blob/master/scopes.html

 

En el ejemplo anterior, vemos que el scope de “global” es… global. El script indica que “unafuncion()”  va a modificar el contenido de la etiqueta con id “identificador_1” y se despliegue en él el valor de “global”. Mientras que en “otrafuncion()” cambiamos el contenido de una etiqueta con id “identificador_2” para mostrar una variable local de esta función. Por último, en “funciontres()” se está intentando mostrar la variable local de “otrafuncion()”, pero como está fuera del alcance de “funciontres()” ésta no despliega valor alguno.

Al igual que en otros lenguajes de programación, en Javascript, el tiempo de vida de una variable inicia en el momento en el que ésta se declara.

Una variable global deja de existir hasta que la página es cerrada

Las variables locales son eliminadas cuando la función ha finalizado, lo cual permite usar identificadores iguales pero en funciones diferentes. Esto mismo ocasiona que, si se intenta asignar o desplegar el valor de una variable dentro de una función fuera de su alcance, se obtendrán resultados inesperados.

Las variables que funcionan como argumentos de las funciones son consideradas como locales también.

Como podemos apreciar, es importante conocer acerca de los alcances de las variables, ya que algunas veces pueden presentarse casos en los cuales nuestro código no funciona de la manera que nosotros queremos, y puede ser debido al alcance de las variables.

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.