Цикл
A for
в C-подобных языках состоит из трех частей:
for
( инициализатор ;
условие ;
update ) { ... }
Цикл затем преобразуется в следующий (примерно) эквивалентный цикл (здесь есть различия, но они не имеют отношения):
инициализатор ;
while
( условие ) {
...
обновление ;
}
Итак, инициализатор запускается первым;затем цикл выполняется до тех пор, пока условие остается верным, и в конце каждой итерации выполняется часть update .Это не должно быть приращением, но наиболее распространенная форма выглядит следующим образом:
for (var i = 0; i < something; i++) { ... }
Но вы можете записать все, что вы хотите в эти части, и вы также можете оставить их пустыми, если вы делаете вцикла достаточно для правильной работы и завершения цикла.Так что в вашем случае, поскольку i--
является выражением, которое также обновляет i
, цикл просто объединяет оба условие и update в одно и ведет обратный отсчет.