You're not redeclaring it, you're hideing it. More or less the same as:
This is a matter of scopes. the variable inside the FOR loop, hides an enclosing variable with the same name. This also applies to fiels on types, as oposite to what happens with methods, where the overriden method substitutes the original extended one.
Strict Local Var1:Int = 10 For Local i:int = 0 to 100 Local Var1:String = "Hello" Print Var1 Next Print Var1
This is a matter of scopes. the variable inside the FOR loop, hides an enclosing variable with the same name. This also applies to fiels on types, as oposite to what happens with methods, where the overriden method substitutes the original extended one.