Показать сообщение отдельно
Старый 06.08.2003, 01:25
начинающий вне форума Посмотреть профиль Найти все сообщения от начинающий
  № 4  
начинающий

Регистрация: Jul 2003
Адрес: Винница (или область)
Сообщений: 118
Есть два вида оператора инкремента: префисный - ++а и постфиксный – а++.
Разница между ними такова: если имеем код
a = 5;
b = a++;
то «при выходе» значения a и b станут соответственно 6 и 5 (во второй строке сначала исполняется присваивание, а потом к переменной а прибавляется еденица). Если же написать:
a = 5;
b = ++a;
то обе переменные станут равны 6 (во второй строке сначала производится увеличение а, после чего это новое значение заносится в переменную b).
Если же имеется код:
_root.crossword.duplicateMovieClip ("crossword"+(++depth), depth);
то алгоритм выполнения таков: второй параметр передаётся сразу, без вычеслений, то есть depth, а когда же приходится передавать первый аргумент, то приходится к depth прибавить 1, потом склеить со строкой, а потом уж передать в функцию.
Если же написать так:
_root.crossword.duplicateMovieClip ("crossword"+depth++, depth);
То при передаче первого аргумента сначала произойдет склейка строк, а потом depth=depth+1, то есть то, что и нужно.
Тут тоже делается всё через зад
__________________
все там будем...