var count = 0;
for ( var i = 0; i < 4; i++ ) {
setTimeout(
function(){
assert( i == count++, "Check the value of i." );
},
i * 200);
}
Объясните, пожалуйста, как работает этот код. Почему цикл бегает четыре раза со значением 4?
assertв JS. Что она делает, поясните... – Rules Jan 16 '13 at 11:39выполняется уже не в цикле.
– KoVadim Jan 16 '13 at 11:42@Rules имеется ввиду console.assert
А... Спасибо!, буду знать :)
– Rules Jan 16 '13 at 11:46assertсамописная функция,подсмотрел на stackoverflow - не знал тогда про console.assert - тот же самый принцип.. function assert(expression, description) { var message = expression ? 'PASS' : 'FAIL'; console.log(message + ': ' + description); } – setback Jan 16 '13 at 11:55i), разве нет? Ему нужно использовать их правильно. – VladD Jan 16 '13 at 12:05iнаходится в замыкании по отношении к функции, которая передана вsetTimeout– Spectre Jan 16 '13 at 13:57