![]() |
определённо глюк (не исключено, что мой)...
Почему при таком коде число в имени всегда на единицу больше глубины?!!
Код:
_root.crossword.duplicateMovieClip ("crossword"+(++depth), depth); |
Дык ты же сам его на единицу увеличиваешь
(++depth)
|
Так первая тоже должна увеличиться! Я же префиксно инкрементирую!
|
Есть два вида оператора инкремента: префисный - ++а и постфиксный – а++.
Разница между ними такова: если имеем код 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, то есть то, что и нужно. Тут тоже делается всё через зад :) |
2начинающий
Честно, начиная читать это сообщение почему-то хотелось сразу отписать гневный ответ - я ж написал, что у меня постфиксное инкрементирование... Потом дошёл до строчки Цитата:
А почему так криво (сначал второй)? Цитата:
|
Люблю прелюдии! :)
Передача с заду на перед – типичный случай. Так проще логика работы программ, потому что данные из стека (место, куда передаются значения переменных в функции) при обратном запихивании достаются в природном порядке, ввиду организации стека по принципу первый вошел – последний вышел (подобно лотку тарелок). Видимо такой и порядок подготовки значений для погружения их в стек. А что значит: «а где еще? » |
2начинающий
Цитата:
Цитата:
Вот я и спросил, где ещё. |
Опа! Этого даже я не знал...
скромно, eh? :p начинающий, спасибо за инфу. |
--2 Useless: --
Нельзя обнять необъятное и впихнуть невпихуемое (Р.Трахтенберг) --2 all: -- Как пела група Наутилус: "Знайте и запоминайте...". Можете попробовать такой пример: Код:
function f() |
| Часовой пояс GMT +4, время: 16:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.