Показать сообщение отдельно
  #1 (permalink)  
Старый 15.05.2014, 11:47
Интересующийся
Отправить личное сообщение для FreeVice Посмотреть профиль Найти все сообщения от FreeVice
 
Регистрация: 16.05.2012
Сообщений: 18

Как разомкнуть замыкание?
вот этот код возвращает 2, 2, 2

как сделать, чтобы он возвращал 0, 1, 2? я уже стал создавать переменную и присваивать в нее i через parseInt(i.toString()), и потом класть в алерт - все-равно не помогает
var data = [];

for(var i = 0; i < 3; i++) {
    var b = parseInt(i.toString());
    var curr = function() { alert(b); };
    data.push(curr);
}

for(var j = 0; j < 3; j++) {
    data[j]();
}


http://jsfiddle.net/ateregulov/kdZ9h/
Ответить с цитированием