Ver Mensaje Individual
  #9 (permalink)  
Antiguo 12/05/2011, 08:56
Avatar de Aijoona
Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: reload y redireccion con ancla?

Si no estas muy interiorizado en el tema de clousures probablemente resulte confuso.

Un clousure es un espacio cerrado al entorno, esto es, lo que definís dentro del clousure no tendrá visibilidad externa a menos que vos quieras, por ejemplo:

Código Javascript:
Ver original
  1. function createClousure() {
  2.     // Estas variables son "privadas", no pueden ser accedidas
  3.     // desde el exterior del closure, a menos que queramos
  4.     var a, b, c;
  5.    
  6.     a = 1;
  7.     b = 'hola';
  8.     c = [1,2,3];
  9.    
  10.     // Devolvemos un objeto que tiene visibilidad interna, basicamente
  11.     // "recuerda" el contexto en el cual fue definido
  12.     return {
  13.         getA: function() { return a },
  14.         getB: function() { return b },
  15.         getC: function() { return c }
  16.     }
  17. }


Al realizar un eval tenés visibilidad de todos las variables a las que puede acceder el contexto sobre el que está situado.

Si queres usar la function que realiza el eval por si sola no te va a resolver muchas dudas:

Código Javascript:
Ver original
  1. function wrappedEval(q) {
  2.     console.log(eval('typeof ' + q));
  3. }
  4.  
  5. wrappedEval('a'); // undefined
  6. wrappedEval('setTimeout'); // function
__________________
blog | @aijoona