Показать сообщение отдельно
Старый 22.08.2010, 23:42
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
i++ - постфиксный оператор.
Код AS1/AS2:
var i:Number=3;
trace(i++); //3
trace(i); //4
Это аналогично
Код AS1/AS2:
var i:Number=3;
trace(i); //3
i+=1;
trace(i); //4
(на самом деле в байткоде различия есть, но всем плевать)
Т.е. инкримент произойдёт после того, как отработает эта строчка кода.
Есть префиксный инкримент:
Код AS1/AS2:
var i:Number=3;
trace(++i); //4
Аналогично
Код AS1/AS2:
var i:Number=3;
i+=1;
trace(i); //4
И он отработает до того, как начнется обработка строчки.

И повнимательней - ++i меняет значение i, в то время как i+1 просто возвращает результат на единицу больше.