Espacio Daycry - Espacio de programación

  • Inicio
  • Categorias
    • - Codeigniter
    • - Symfony
    • - HTML5
    • - Linux / Ubuntu
    • - PHP
    • - Jquery
  • PortFolio - Proyectos Codeiniter
    • - Encuestas Online
    • - Estadísticas - GLPI
    • - Gestión de colas
    • - Web Service - REST

martes, 1 de diciembre de 2015

Jquery - Alcance de las variables

Posted by daycry at 14:03 Labels: Javascript , Jquery
El “alcance” (en inglés scope) se refiere a las variables que están disponibles en un bloque de código en un tiempo determinado. La falta de comprensión de este concepto puede llevar a una frustrante experiencia de depuración.
Cuando una variable es declarada dentro de una función utilizando la palabra clave var, ésta únicamente esta disponible para el código dentro de la función — todo el código fuera de dicha función no puede acceder a la variable. Por otro lado, las funciones definidas dentro de la función podrán acceder a la variable declarada.
Las variables que son declaradas dentro de la función sin la palabra clave var no quedan dentro del ámbito de la misma función — JavaScript buscará el lugar en donde la variable fue previamente declarada, y en caso de no haber sido declarada, es definida dentro del alcance global, lo cual puede ocasionar consecuencias inesperadas;
Funciones tienen acceso a variables definidas dentro del mismo alcance
var foo = 'hola';
    
    var sayHello = function() {
      console.log(foo);
    };
    
    sayHello();         // muestra en la consola 'hola'
    console.log(foo);   // también muestra en la consola 'hola'
El código de afuera no tiene acceso a la variable definida dentro de la función
var sayHello = function() {
      var foo = 'hola';
      console.log(foo);
    };
    
    sayHello();         // muestra en la consola 'hola'
    console.log(foo);   // no muestra nada en la consola
Variables con nombres iguales pero valores diferentes pueden existir en diferentes alcances
var foo = 'mundo';
    
    var sayHello = function() {
      var foo = 'hola';
      console.log(foo);
    };
    
    sayHello();         // muestra en la consola 'hola'
    console.log(foo);   // muestra en la consola 'mundo'
Las funciones pueden “ver” los cambios en las variables antes de que la función sea definida
var myFunction = function() {
      var foo = 'hola';
    
      var myFn = function() {
          console.log(foo);
      };
    
      foo = 'mundo';
    
      return myFn;
    };
    
    var f = myFunction();
    f();  // registra 'mundo' -- error
Alcance
// una función anónima autoejecutable
    (function() {
      var baz = 1;
      var bim = function() { alert(baz); };
      bar = function() { alert(baz); };
    })();
    
    console.log(baz);  // La consola no muestra nada, ya que baz
                       // esta definida dentro del alcance de la función anónima
    
    bar();  // bar esta definido fuera de la función anónima
            // ya que fue declarada sin la palabra clave var; además,
            // como fue definida dentro del mismo alcance que baz,
            // se puede consultar el valor de baz a pesar que
            // ésta este definida dentro del alcance de la función anónima
    
    bim();  // bim no esta definida para ser accesible fuera de la función anónima,
            // por lo cual se mostrará un error
Tweet

Related Posts

  • Jquery - Métodos Utilitarios
    Jquery - Métodos Utilitarios
  • Jquery - Atributos
    Jquery - Atributos
  • Jquery - CSS, Estilos
    Jquery - CSS, Estilos
  • Jquery - Filtrando selectores
    Jquery - Filtrando selectores

No hay comentarios :

Publicar un comentario

Entrada más reciente Entrada antigua Inicio
Suscribirse a: Enviar comentarios ( Atom )

Sígueme en las Redes Sociales



Follow @daycry9



Donaciones

Suscribirse a

Entradas
Atom
Entradas
Comentarios
Atom
Comentarios

Datos personales

daycry
Ver todo mi perfil

Entradas populares

  • Crear archivos PHP ejecutables por terminal UBUNTU
    En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
  • Pâginación PHP con Librería Zebra Pagination
    En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
  • PHPExcel - Codeigniter
    Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
  • PHP- Operaciones con fechas - Sumar Horas, minutos y segundos
    Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
  • Codeigniter - Múltiples conexiones a base de datos
    Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...

© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool