Можно создать дубликат:
Javascript closure inside loops - simple practical example
Javascript: closure of loop?Javascript замыкание в цикле
поэтому я хотел бы, чтобы результаты были 1,2,3 вместо 3,3,3 , Как установить контекст/область, чтобы задания использовали правильно «i»?
function buildJobs(list) {
var jobs = [];
for (var i = 0; i < list.length; i++) {
var item = list[i];
jobs.push(function() {alert(item)});
}
return jobs;
}
function testJobs() {
var jobs = buildJobs([1,2,3]);
for (var j = 0; j < jobs.length; j++) {
jobs[j]();
}
}
не является точной копией, но та же идея. – hvgotcodes
@hvgotcodes хорошо существует более 9000 точных копий, поэтому на самом деле не имеет значения, если это не так: D – Esailija
именно его удивительный, сколько раз этот вопрос задают .... – hvgotcodes