function b(a) {
return a * a;
}
for (a = 0; a < 5; a++) {
c = a;
if (a == 3) {
setTimeout(function() {
c = b(a);
alert(c);
//как сделать чтоб тут алерт выполнился когда а = 3;?
// а то выполняется когда уже а = 5
}, 5000);
}
alert(c);
}
function b(a) {
return a * a;
}
for (a = 0; a < 5; a++) {
c = a;
if (a == 3) {
(function(a){
setTimeout(function() {
c = b(a);
alert(c);
//как сделать чтоб тут алерт выполнился когда а = 3;?
// а то выполняется когда уже а = 5
}, 5000);
})(a);
}
alert(c);
}
Последний раз редактировалось melky, 23.01.2012 в 21:41.
Причина: скобки попутал
function b(a) {
return a * a;
}
for (var a = 0; a < 5; a++) {
c = a;
if (a == 3) {
setTimeout((function(aParam) {
return function() {
c = b(aParam);
alert(c);
};
})(a), 5000);
}
alert(c);
}