![]() |
Локальный массив
Есть такой фрагмент:
on (release){ var x= new Array(); function withArray(a, b){ x[0]=a; x[1]=b; //Дальнейшие операции по заполнению массива } withArray(1, 2);//Для примера trace(x.length); } Output: undefined Почему? Если писать trace внутри функции, все отлично работает Спасибо |
Потому что когда ты пишешь
var x = new Array(); ты объявляешь ЛОКАЛЬНЫЙ (для онрелиза) массив. Если а) ты уберешь "var" или б) ты создашь массив снаружи (т.е. не в скрипте кнопки) то тебе будет счастье. |
Так и функция тоже описана внутри онрелиза и при создании массива никаких ошибок не выдается. Или функция внутри себя создает эти элементы и снаружи их не видно? Ведь по идее область видимости массива x - блок онрелиз. И функция в блоке онрелиз. Все должно друг друга видеть и понимать :)
Что не правильно? |
Не надо меня сердить :mad:
Ты сделал как я сказал, или ты теоретик и компилируешь тоже на бумажке? Пункт (а) берешь и пошел работать, а то что ТЫ думаешь, что ТЫ написал правильно, то как говориться "это вы так считаете". |
Я, конечно, попробую, но вопрос так и остался открытым...
|
Цитата:
2Аспирант, вопрос оч. даже закрыт.... т.к. дан полный ответт !. |
Специально для аспирантов:
Инструкция по решению проблем 1. На панели задач нажмите кнопку "Пуск">"Завершение работы...">далее по своему усмотрению. |
2lexass
То, что сказал DeliMIter, отнюдь не отвечает на вопрос, а лишь позволяет обойти проблему невидимости переменной в области видимости 2voro_bej Это тоже не способ решения проблемы. Гораздо эффективней format c: /u |
Слушай! Да я те в натуре без смеха грю. :D Перегрузи комп. У тя просто глюк.
|
Запустил Аспирантовый код. Все работает. В натуре, удали свой линукс и поставь Винду.
|
Цитата:
Код:
on (release){Если так то все пашет: Код:
// на батон |
Проверил, признаю, бред. on (event) не считает себя ф-цией и его локальный переменные являются таковыми и для клипа.
|
Цитата:
эттто надо записаааать.... :p |
Засунь линк в Favorites :)))) Будешь потом всем показывать :)))))
|
Приношу свои извинения
Господа!
Приношу свои извинения всем, втянутым в эту перепалку. После просмотра исходника более внимательно оказалось, что в действительности сначала trace(x.length), а потом уже заполнение массива. Но на этом все только началось :) Попытка задействовать полученный массив в дальнейшем не принесла результата. Пришлось передавать его в качестве параметра использующей функции. Исходник всего этого безобразия вскоре появиться в разделе "Исходники". Следите за рекламой :) Спасибо всем за проявленный интерес и высказанные замечания. Еще раз приношу свои извинения за не совсем корректный вопрос. |
| Часовой пояс GMT +4, время: 12:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.