Ответ
trutheality является лучшим соображением в большинстве языков, и отличный ответ, учитывая, что этот вопрос не был помечен как actionscript-3 до более поздних версий.
Однако Actionscript использует подъем переменных, где переменные, определенные в любом месте в функции, ограничены этой функцией, а не ее внутренним блоком. Это сообщение в блоге хорошо описывает это и упоминается в документах по переменной области действия . Из-за подъема в ActionScript нет разницы между определением переменных до или внутри цикла.
Чтобы показать, насколько это безумие, вы можете даже определить переменную после цикла:
for (i = 0; i < 5; i++) {
trace(i);
}
var i:int;