ЙажаСценарий / Говнокод #16313 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
js меня восхищает, реально. это язык, где проблемы с замыканием можно решить, добавив ещё одно замыкание. прикинем, например

var object = ...;
doShit(function /* async callback */ () { object.doOtherShit(); });

пока вроде как всё зашибись. но вдруг понадобилось написать цикл:

for (var i....) {
  var object = array[i];
  doShit(function /* this now fails hard */ () { object.doOtherShit(); });
}

что же делац? правильно, врапим всё в ещё одну функцию:

for (var i....) {
  (function(object){
    doShit(function /* oh, it's okay again */ () { object.doOtherShit(); });
  })(array[i]);
}

Запостил: makc3d makc3d, (Updated )

Комментарии (3) RSS

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8