в es6 есть крутая штука let, вот ее стоит использовать для обьявления переменных в цикле, это лучше чем var и не нужно заморачиваться с замыканием.
если же говорить про es5 то да, для цикла переменную лучше обьявлять внутри цикла, а не до или вне функции. Ну и к тому же это наиболее распростроненный и удобный стиль.