Показать сообщение отдельно
Старый 18.09.2009, 11:03
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 8  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Последняя версия событий такова:

1. Начало цикла. i = 0
2. Проверка условия i < 5.
- если дает true, то выполняется все, что в теле цикла, в моем примере это trace(i);.
- если дает false, то переходим на 4.
3. Происходит приращение i = i + 1 и переход на 2.
4. Выход из цикла (выполняется следующая после цикла строчка кода).
Тогда будет именно такая картина, которую наблюдаем на практике.

То, что в примере автора в теле цикла выполняется присвоение обработчика ролловер кнопки, никакого значения не имеет, т.е. после выхода из цикла i=5.

PS.
Обработчик ролловер, аж 5(!) раз назначенный в цикле, честно трейсит i. Назначение обработчика само по себе не что иное, как операция присваивания, т.е. можно было с тем же успехом написать
Код:
for (i = 0; i < 5; ++i) {
	a = "какая-то фигня";
}
И чему бы вы думали будет равно а на каждой итерации и после выхода из цикла?


Последний раз редактировалось alexcon314; 18.09.2009 в 11:22.