Blog

¿Que es el scope o alcance de una variable?

Mar 03, 2009 | Español | By Crysfel | 10 Comments | Read in English

Cuando nos referimos al “scope” nos estamos refiriendo al alcance o al área donde una variable puede utilizarse, en este tema veremos como maneja JavaScript este concepto.

¿Que es el scope o alcance de una variable?
Author: Crysfel

I'm a software developer with 6+ years of experience, when I'm not developing software I may be writing a tutorial, you can follow me on twitter

En JavaScript el alcance de las variables sucede de una función y no de bloques (if, while, switch, etc.) como en lenguajes Java o C/C++; en otras palabras si se define una variable dentro de un bloque condicional (if) esta variable se podrá utilizar en toda la función en cuestión y no solamente en el bloque definido. Veamos el siguiente ejemplo que demuestra lo que se acaba de mencionar:

if(true){
            var test = 'is it a block var?';
}

function testing(){
            var test = 'testing scope!';
}
testing();

console.debug(test);

Dentro de la condición se ha definido la variable “test”, en lenguajes como Java ésta variable debería existir sólo dentro de la condición, pero en JavaScript no sucede de esta manera ya que esa variable ha sido definida en el “global scope” y no dentro del bloque condicional. Por otro lado la variable que se definió dentro de la función “testing” sólo existe dentro de esa función.

Es importante mencionar que las variables declaradas en el “global scope” son propiedades del objeto “window”, para comprobar esta afirmación basta con hacer lo siguiente:

var global = 'this is a global var!';

console.debug(window.global);

Otro punto a tomar en cuenta es que cuando no se declaran las variables utilizando la palabra reservada “var” no importa si están dentro de una función o no, estas variables automáticamente serán definidas en el “global scope”.

function globalScopeFunction(){
            globalScope = 'this is a new var in the global scope!';
}
globalScopeFunction();

console.debug(globalScope);
console.debug(window.globalScope);

Es importante saber estos conceptos pues los necesitaremos más adelante, además de que ahora sabremos con exactitud el alcance de las variables y donde podemos usarlas.

10 Responses to “¿Que es el scope o alcance de una variable?”

  • Elías Manchón Mar 05, 2009

    Crysfel este video se corta a los 12 segundos

    • Crysfel Mar 05, 2009

      Que raro…. checa tu conexión a internet, actualiza la página e intenta de nuevo, el video lo he probado nuevamente y si lo ha reproducido completamente.

      saludos :D

  • Elías Manchón Mar 07, 2009

    Lo he probado desde dos sitios distintos y desde máquinas diferentes, con navegadores diferentes, se corta a los 12 segundos.

    saludos

  • juan Mar 08, 2009

    sí, a mi me ocurre lo mismo. Se corta a los 12 seg. exactamente.

  • Hazel Mar 11, 2009

    Que raro, yo si lo pude ver todo y probé conectandome en diferentes lugares y pude ver todo el video

  • Lestat Apr 13, 2009

    Yo si puedo ver el video

    saludos

  • JUAN CARLOS Apr 22, 2009

    Hola, bueno yo pude ver normalmente este video por lo que dicen arriba, una pregunta disculpa el desconocimiento, que editor usas para escribir los script y ese debug que sale abajo en el explorador como hago ?? eso es como que te va marcando los errores de programacion ahí. !! gracias.

  • Wilmer Abreu Sep 03, 2009

    Wow eres un master 100 puntos por aqui! felicidades

  • Daniel Mendoza Jun 15, 2010

    Hola brother, gracias por tu aporte, me ha ayudado mucho… algun dia te lo pagare jejeje, gracias y sigue nutriendonos con tus conocimientos, te lo agradesco… y q Dios te bendiga enormemente….de Perú.

Leave a Reply







Updates

RSS

Subscribe to our feeds to receive updates of our newest posts and free tutorials.

Site search

Maybe we have what you need, would you like to search first?

Donations

Would you buy me a cup of coffee? I am sharing my knowledge and time with you, help this project grow. Thank you!