Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2014, 21:31
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 4 meses
Puntos: 977
Respuesta: Problema con closure

Efectivamente, necesitas hacer un closure, para lo cual son útiles las funciones anónimas:

Código Javascript:
Ver original
  1. var funcs = [];
  2. for (var i = 0; i < 3; i++) {
  3.     (function(j){
  4.         funcs.push(function () {
  5.             var index = j;
  6.             console.log(index);
  7.         });
  8.     })(i);
  9. }
  10.  
  11. for (var i in funcs) {
  12.     funcs[i]();
  13. }

Lo anterior imprimirá: 0, 1, 2. No imprime el 3 porque el bucle va desde el 0 hasta antes del 3.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand