Насколько я знаю, я видел функции javascript с несколькими циклами for, каждый из которых объявлял свои собственные var i
в течение по крайней мере 6 лет без проблем.
Посмотрев на спецификацию, кажется, что в этой области нет ничего конкретного, однако, поскольку (особенно глобальное) имя переменной перезаписывается (читай: конфликты), это была особенность с самого начала, я был бы очень удивлен, если бы сдержанностьпосле того, как было наложено несколько объявлений.
В таком виде, я хотел бы предположить, что он не показывает особенно хорошего знания области видимости (и подъема) в javascript, но, тем не менее, является допустимым кодом.