Скажите, а почему, например, вот в этом коде:

Код AS3:
package
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main()
{
for(var i:uint = 0; i <= 10; i++)
{
trace("i = ", i);
}
trace("-----------------------");
for (i = 15; i <= 25; i++)
{
trace("i = ", i);
}
}
}
}
Второй цикл работает?
Ведь переменная функции for - это же локальная переменная? Она должна быть видна только в теле данного for.
А получается, что она видна и в теле другого for, в чем причина?