Я искал, но не мог найти ответ на этот, казалось бы, простой вопрос, так что ...
Предположим, у меня есть цикл, в котором мне нужно установить обратные вызовы. Моя функция обратного вызова выглядит следующим образом:
function callback(var1) { // code }
Теперь мой цикл выглядит примерно так:
for( //condition)
{
var x = something_different_each_time;
document.getElementById('foo').addEventListener('click', function() { callback(x); }, false);
}
Теперь похоже, что даже если цикл выполняется n раз, анонимная функция компилируется только один раз - и, следовательно, каждый вызов обратного вызова вызывается с одним и тем же аргументом (даже если x изменяется в цикле каждый раз). *
Я, должно быть, что-то здесь упускаю ... любая помощь очень ценится! :)