Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глюк или не Глюк? Массив не копируеться... 
V
    Опции темы
leo99
Дата 12.5.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Случайно заметил один прикол в JavaScript.
Смотрим код:

Код

<script>
test=Array(0,0,0,0);
    alert(test);
asd=test;
asd[0]=111;
    alert(test);
</script>


Посмотрели... Казалось бы, ничего такого здесь нет. И здесь будет выведено "0,0,0,0" затем снова "0,0,0,0". Но не тут-то  было проверьте у себя на компьютере. Проверили?

Теперь, пожалуйста, объясните почему это происходит? 
PM MAIL WWW   Вверх
Sardar
Дата 12.5.2006, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



leo99 потому что мануалы читать нужно, а не "с барабана" писать smile
Массив это обьект, все обьекты передаються по ссылке. Как и в Java, C# и любом другом человческом скриптовом и не скриптовом языке. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
leo99
Дата 15.5.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Поняно, пасибо.
А теперь подскажите пожалуйста как же его копернуть? 
PM MAIL WWW   Вверх
Illuminaty
Дата 15.5.2006, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 4
Всего: 56



Код
    test= new Array(0,1,2,3);
    asd = test.slice(0);
    alert("asd = " + asd);
    alert("test = " + test);
    asd[0] = 1111;
    alert("asd = " + asd);
    alert("test = " + test);


Удачи! 
PM MAIL ICQ   Вверх
leo99
Дата 15.5.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.5.2006

Репутация: нет
Всего: нет



Illuminaty пасибо.

Тема закрыта. 
PM MAIL WWW   Вверх
Illuminaty
Дата 15.5.2006, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 4
Всего: 56



Пожалуйста smile 
заходи еще.

Удачи! 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.