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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите разобраться с ссылками 
:(
    Опции темы
neoks
Дата 6.3.2013, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не как не могу вдуплить в эти ссылка в JS, с одной стороны удобно а с другой стороны сильно раздражает когда начинаешь думать почему данные в этой переменно меняются.

К примеру есть переменная координат мыши

Код

var cor = [0,0];


И есть другая переменная в которою я присваиваю значение курсора.

Код

var copyCor = cor;


Все бы нечего удобно да, сразу имеется ссылка что удобно но стоит сдвинуть курсор и мы получаем те же координаты.

Собственно вопрос, как же разорвать связь ? юзать JSON.parse(JSON.stringify(obj)) не катит, сразу же тормоза ловлю да и постоянно юзать эту конструкцию где не лень как-то не то мне кажется.
Так как же сделать копию или разорвать связь ?
PM MAIL   Вверх
JAYBE
Дата 6.3.2013, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Код

arr1 = [1,2];
arr2 = arr1.concat();
arr1 = [3,4];
console.log( arr1 );

Получается так:
Код

var copyCor = cor.concat();

PM   Вверх
neoks
Дата 6.3.2013, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



concat(); Как я понял просто работа с массивами, не будет ли из за этого логать скрипт ? так как используется постоянно в анимации и это очень важно)
PM MAIL   Вверх
Aliance
Дата 6.3.2013, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Так а зачем делается приравнивание переменных-то? Пример абстрактный или нет? Если нет, то что мешает написать так:
Код

var cor = [0,0];
var copyCor = [0,0];

PM MAIL WWW ICQ Skype   Вверх
neoks
Дата 6.3.2013, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Aliance @  6.3.2013,  18:03 Найти цитируемый пост)
Так а зачем делается приравнивание переменных-то?

Ну к примеру движется обьект и позади него создается типа трейсера следа от калес скажем так, единственный способ узнать где сейчас находится обьект это узнать его позицию и присвоить трейсеру позицию обькта, но в этом и все беда, я привык что в PHP статик идет что хочешь то и делай с переменной все равно копия.

Но вот в JS я запутался, иногда выручает а иногда вот такая вот лажа встречается, пока пользуюсь concat() и использую его до самой анимации в тот момент когда нужно создавать трейсер следа, так мне позволит экономить ресурсы ))

Порылся в нете как я понял другого способа просто нет )) меня также волнует простые значения они тоже все ссылки ? стоит поменять значения и хана, а как тогда у них разорвать ссылку ?

Это сообщение отредактировал(а) neoks - 6.3.2013, 18:25
PM MAIL   Вверх
skyboy
Дата 6.3.2013, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



по ссылке присваиваются объекты. примитивы(1, "4444", true) — не объекты.
PM MAIL   Вверх
Aliance
Дата 7.3.2013, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

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



Цитата(neoks @  6.3.2013,  19:24 Найти цитируемый пост)
 меня также волнует простые значения они тоже все ссылки ?

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


 




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


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

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