Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Локальный массив (http://www.flasher.ru/forum/showthread.php?t=40452)

Аспирант 03.12.2002 10:57

Локальный массив
 
Есть такой фрагмент:
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 внутри функции, все отлично работает

Спасибо

DeliMIter 03.12.2002 11:17

Потому что когда ты пишешь

var x = new Array();

ты объявляешь ЛОКАЛЬНЫЙ (для онрелиза) массив. Если

а) ты уберешь "var" или
б) ты создашь массив снаружи (т.е. не в скрипте кнопки)

то тебе будет счастье.

Аспирант 03.12.2002 12:29

Так и функция тоже описана внутри онрелиза и при создании массива никаких ошибок не выдается. Или функция внутри себя создает эти элементы и снаружи их не видно? Ведь по идее область видимости массива x - блок онрелиз. И функция в блоке онрелиз. Все должно друг друга видеть и понимать :)
Что не правильно?

DeliMIter 03.12.2002 13:04

Не надо меня сердить :mad:

Ты сделал как я сказал, или ты теоретик и компилируешь тоже на бумажке? Пункт (а) берешь и пошел работать, а то что ТЫ думаешь, что ТЫ написал правильно, то как говориться "это вы так считаете".

Аспирант 03.12.2002 13:56

Я, конечно, попробую, но вопрос так и остался открытым...

lexass 03.12.2002 14:07

Цитата:

Оригинал написал(а) Аспирант
Я, конечно, попробую, но вопрос так и остался открытым...
:mad:
2Аспирант,
вопрос оч. даже закрыт....
т.к. дан полный ответт !.

voro_bej 03.12.2002 14:12

Специально для аспирантов:
Инструкция по решению проблем
1. На панели задач нажмите кнопку "Пуск">"Завершение работы...">далее по своему усмотрению.

Аспирант 03.12.2002 17:22

2lexass
То, что сказал DeliMIter, отнюдь не отвечает на вопрос, а лишь позволяет обойти проблему невидимости переменной в области видимости

2voro_bej
Это тоже не способ решения проблемы. Гораздо эффективней format c: /u

voro_bej 03.12.2002 17:36

Слушай! Да я те в натуре без смеха грю. :D Перегрузи комп. У тя просто глюк.

DeliMIter 03.12.2002 17:43

Запустил Аспирантовый код. Все работает. В натуре, удали свой линукс и поставь Винду.


Часовой пояс GMT +4, время: 04:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.