Сообщение от Kolyaj
			 
		
	 | 
	| 
		С теорией C/C++ путаете.
	 | 
	
хм. вполне может быть, потому что в теорию JS не вникал. требуемый код писал интуитивно, даже не читая книжек. при возникновении вопросов искал ответы в разных манах/примерах (раздел аналогов функций PHP на JS помогал-некоторые вопросы отпадали после изучения примеров).
но, я думаю, всё встало на свои места. раз 
i в этом случае глобальная, следовательно 
var a, созданный в цикле, тоже будет глобальным. следовательно, созданный ранее 
var a=5; будет затерт ноым глобальным значением. вот и ответ.
буду знать, что в JS, все-таки, есть некие отличия от C/C++ в области видимости. спасибо.