Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.12.2006, 20:34
Kinsler вне форума Посмотреть профиль Отправить личное сообщение для Kinsler Найти все сообщения от Kinsler
  № 1  
Ответить с цитированием
Kinsler
 
Аватар для Kinsler

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
По умолчанию Циклы и массивы, это глюки или нет?

почему вот так:

Код:
var param:Array = new Array();

for (i=0; i<7; i++) { 
	param[i] = 1; 
}

for (z=0; z<7; z++) { 
	_root['submit'+z].onRelease = function() { 
		for (j=0; j<7; j++) {
			param[j] = param[j] + 1; 
		}
		trace(param);
	}
}
все ок
а вот так появляеться лишний элемент массива?

Код:
var param:Array = new Array();

for (i=0; i<7; i++) { 
	param[i] = 1; 
}

for (z=0; z<7; z++) { 
	_root['submit'+z].onRelease = function() { 
		param[z] = param[z] + 1; 
		trace(param);
	}
}
я понимаю второй код кривой, но откуда все таки лишний элемент, я до этого просто допереть не могу.
ну на сцене мувик надо сделать с именем например submit0


Последний раз редактировалось iNils; 21.12.2006 в 08:28.
Старый 21.12.2006, 01:06
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 2  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Код:
for (z=0; z<7; z++) { 
//
}
trace(z); // 7
Отсюда и лишний элемент.

Старый 21.12.2006, 11:03
Kinsler вне форума Посмотреть профиль Отправить личное сообщение для Kinsler Найти все сообщения от Kinsler
  № 3  
Ответить с цитированием
Kinsler
 
Аватар для Kinsler

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
trace(z) выдает 7 элементов

trace(param.length); выдает 8

Старый 21.12.2006, 11:35
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 4  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
от 0 до 7 будет 8
__________________
"We Are The Champions My Friends!" Queen

Старый 21.12.2006, 11:45
Kinsler вне форума Посмотреть профиль Отправить личное сообщение для Kinsler Найти все сообщения от Kinsler
  № 5  
Ответить с цитированием
Kinsler
 
Аватар для Kinsler

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
почему до 7-то???
до 6....

Старый 21.12.2006, 13:40
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
В обоих кодах trace(param.length) у меня выдает 7.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 21.12.2006, 13:42
Kinsler вне форума Посмотреть профиль Отправить личное сообщение для Kinsler Найти все сообщения от Kinsler
  № 7  
Ответить с цитированием
Kinsler
 
Аватар для Kinsler

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
а trace(param); после нажатия на кнопку что выдает?
у меня: 1,1,1,1,1,1,1,NaN

Старый 21.12.2006, 13:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Последний в цикле будет 6-ой. Но начинается с нуля — итого 7 элементов. После выполнения цикла z будет равен 7. У тебя в onRelease используется z, который и равен семи. Отсюда лишний элемент, само собой NaN, потому что не был определен (undefined) и сложен с единицей. 1+undefined = NaN.


Последний раз редактировалось etc; 21.12.2006 в 13:48.
Старый 21.12.2006, 13:46
Kinsler вне форума Посмотреть профиль Отправить личное сообщение для Kinsler Найти все сообщения от Kinsler
  № 9  
Ответить с цитированием
Kinsler
 
Аватар для Kinsler

Регистрация: Jun 2004
Адрес: Москва
Сообщений: 1,667
см. мою предпоследнюю мессагу
их 8 штук.
и последний NaN

Старый 21.12.2006, 13:57
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Прочитай мой пост снова, я его поправил

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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