Показать сообщение отдельно
  #2 (permalink)  
Старый 07.03.2013, 04:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Прототипы не причем.

var obj1 = {prop: true};
obj2 = obj1;
alert(obj2.prop);

obj1 = {prop: false};
alert(obj2.prop);


Помоему все логично. Переменные хранят ссылку на объект, а не на другую переменную. Если сделать так, чтобы одна переменная ссылалась на другой объект(новый), то вторую переменную это не коснется - она попрежнему будет ссылаться на первый объект.

var obj1 = {prop: true};
obj2 = obj1; // сейчас obj2 ссылается не на obj1, а на объект, на который ссылается obj1!!!
alert(obj2.prop);

obj1 = {prop: false}; // теперь obj1 ссылается на новый объект. obj2 попрежнему ссылается на старый объект.
alert(obj2.prop);
Ответить с цитированием