cabecera javascript para novatos

Alcance de las variables | JavaScript para novatos #12º

Alcance de las variables

El «alcance» o también llamado «ámbito» de las variables (en inglés «scope»), determina el acceso que vamos a tener a las variables dependiendo en qué lugar del código hayan sido definidas.

Las variables en Javascript pueden ser de dos tipos según su alcance:

Variables locales

Son las variables que se declaran dentro de una función con lo que tan solo se puede acceder a ellas desde la función donde ha sido creada. Para que esto se cumpla la variable debe ser definida con la palabra clave «var», de lo contrario será tomada como global.

function mensaje () {
      var varLocal = "LA VARIABLE LOCAL";
      document.write ("Desde la función puedo usar " + varLocal);
}

mensaje();

document.write ("Desde fuera no puedo usar" + varLocal); //nos dará error (podemos comprobarlo desde la consola)

El tiempo de vida de una variable local en Javascript comienza en el momento que es declarada y termina cuando la función ha sido ejecutada.

Variables globales

Como su nombre indica son de alcance global, lo que significa que están disponibles para que accedamos a ellas desde cualquier parte del código.

Para crear una variable global simplemente tenemos que declararla fuera de una función, de ésta manera cualquier función podrá acceder a ella.

var varGlobal = "LA VARIABLE GLOBAL";

function mensaje () {           
    document.write ("Desde la función puedo usar " + varGlobal);
}

mensaje();

document.write ("</br> Y por supuesto desde fuera también puedo usar " + varGlobal);

Son útiles cuando queremos que varias funciones compartan valores.

Recordar, que como hemos comentado anteriormente, si definimos una variable dentro de una función pero sin la palabra clave «var» (no la declaramos, solo le asignamos un valor) será tomada como global.

Nota:

Los parámetros son variables locales de una función.

En el caso de que tengamos una variable local definida con el mismo nombre que una variable global, la variable local prevalecerá sobre la global dentro de la función a la que pertenece.

Si definimos una variable global dentro de una función, con el mismo nombre que otra variable global que ya estaba definida, simplemente se actualizará el valor.

De todas formas es recomendable evitar la duplicidad de nombres para no tener problemas. También se recomienda definir variables locales cuando su uso se vaya a reducir al ámbito de una función específica, y utilizar variables globales cuando se necesite compartir variables entre diferentes funciones.

Otras características

El alcance de las variables nos ofrece una posibilidad muy interesante cuando trabajamos con las funciones, ya que nos permite guardar datos privados y trabajar con ellos dentro de las funciones y que no se pueda acceder a ellos desde fuera.

Así una variable local no sobrescribirá accidentalmente a otra variable definida con el mismo nombre en otro lugar del código, ni se crearán posibles errores por este tipo de duplicidades.

Hay que tener en cuenta que podemos estar trabajando con archivos externos de Javascript que hayamos cargado, y las variables globales que éstos contengan también serán globales para nuestro código, ya que compartirán el mismo espacio global. Por lo que deberemos no abusar de las variables globales para evitar duplicados.

Llamar a funciones desde otras funciones

Esta sencilla práctica nos sirve para organizar el código, así podemos dividir en varias funciones un proceso complejo y luego ejecutarlas desde una función.

Practiquemos con un ejemplo.

var precioProducto1 = 100;
var precioProducto2 = 100;

function calcularIva (precio) {               
     return (precio*1.21);
}

function calcularIvaReducido (precio) {
      return (precio*1.10);
}

function calcularTotal (){
      return (calcularIva(precioProducto1) + calcularIvaReducido(precioProducto2));  //Estamos utilizando las funciones anteriores
}

document.write (calcularTotal());

Como puedes ver primero hemos creado dos funciones llamadas «calcularIva» y «calcularIvaReducido» las cuales calculan diferentes tipos de IVA.

A continuación hemos creado una función que suma precios añadiéndole el IVA correspondiente por medio de las funciones anteriores. De esta manera tenemos el código bien organizado y más fácil de entender y modificar en un futuro.

Nota:

Es recomendable que cada función solo realice una tarea concreta.

En el próximo capítulo de este tutorial de Javascript conoceremos las funciones predefinidas.


Ir a Javascript para novatos 13ª parte

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *