Ámbito de variables en JavaScript

Comencemos hablando de un tema que muchos desarrolladores casi no toman en cuenta y que, a estos mismos, siempre les ocasiona problemas: El scope de las variables en JavaScript.

Existen dos tipos: Local Scope y Global Scope

Local Scope:
Únicamente existen dentro de una función cuando se usa el keyword var, cuando se termina de ejecutar la función, la variable muere.

	function localVariable() {
    		var a = "Solo vivo dentro de la funcion";
		alert(a);
	}

Muy importante destacar lo siguiente, si se declara una variable dentro de un bloque de código, se puede acceder a ella dentro y fuera del bloque, siempre y cuando se encuentre en la misma función. Por lo tanto, el siguiente bloque de código:

	function localVariable() {
		if(true) {
			var local = "Soy local";
		}
		alert(local);
	}

Produce una alerta con el mensaje “Soy local”

Global Scope:
Las variables globales se pueden declarar de dos formas, una es declarar la variable afuera de cualquier función y la otra es, prescindir del keyword var dentro de una función, por lo tanto el siguiente ejemplo es correcto:

	function localVariable() {
		if(true) {
			local = "Soy global";
		}
		alert(local);
	}

	function globalVariable() {
		alert(local);
	}

	window.onload = function() {
		localVariable();
		globalVariable();
	}

El ejemplo produce dos alertas con el mismo mensaje.

Hay que tener en cuenta siempre estos puntos para no tener problemas futuros al momento de programar con JavaScript.

Buen inicio de semana :D

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Dejar un comentario

  Nombre (requerido)

  Correo (no será publicado) (requerido)

  Website