There is no new scope created by the for loop (Ruby also behaves the same). This may be surprising if you come from a language that creates new areas for blocks.
I do not consider it harmful if you know the rules.
If your functions and methods are so large that you have tracking issues, your functions and methods are too large.