Можно создать дубликат:
Javascript closure inside loops - simple practical exampleКак убедиться, что переменная объем поддерживается в этом цикле
У меня есть цикл с image.onload
вызова, как так:
for (var i = 0; i < array.length; i++){
var item = array[i]
, image = new Image();
image.onload = function(){
// do something with 'item'
}
image.src = url;
}
Поскольку я не знаю, когда срабатывает функция onload
, я считаю, что t hat item
переписывается. Как я могу убедиться, что каждая функция onload
запускается с переменной item
, ссылающейся на данные, которые она делает в момент привязки функции к событию onload
?