Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.02.2010, 20:09
Аватар для Cooskon
Интересующийся
Отправить личное сообщение для Cooskon Посмотреть профиль Найти все сообщения от Cooskon
 
Регистрация: 15.01.2010
Сообщений: 28

Объект как свойство объекта
Если объект является свойством другого объекта, можно-ли как-нибудь напрямую из дочернего объекта получить доступ к свойствам и методам родительского? Вроде того:

var a=new Parent();
a.boom=1;
a.child=new Child();
// Вроде
alert( a.child.getParentObject().boom );

// Пример, конечно, дурацкий, но, думаю, суть ясна.


Или всё-таки придётся задавать дочернему объекту свойство со ссылкой на родительский?
Ответить с цитированием
  #2 (permalink)  
Старый 16.02.2010, 20:15
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

var a1 = new Parent();
var a2 = new Parent();
var child = new Child();
a1.child = child;
a2.child = child;
Какой из a1 и a2 родитель?
Ответить с цитированием
  #3 (permalink)  
Старый 16.02.2010, 20:23
Аватар для Cooskon
Интересующийся
Отправить личное сообщение для Cooskon Посмотреть профиль Найти все сообщения от Cooskon
 
Регистрация: 15.01.2010
Сообщений: 28

Я далеко не гуру JS, так что, ежели что, поправьте:

Здесь у двух объектов в свойствах один и тот же объект. Мне же интересен случай, когда свойству родительского объекта присваивается новый экземпляр дочернего класса. Как нибудь можно это сделать без прямого указания родительского в свойствах дочернего при создании дочернего?
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2010, 20:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Cooskon
Как нибудь можно это сделать без прямого указания родительского в свойствах дочернего при создании дочернего?
Нет, объект ничего не знает о ссылках на себя.
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2010, 20:28
Аватар для Cooskon
Интересующийся
Отправить личное сообщение для Cooskon Посмотреть профиль Найти все сообщения от Cooskon
 
Регистрация: 15.01.2010
Сообщений: 28

Спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 16.02.2010, 20:36
Аватар для Cooskon
Интересующийся
Отправить личное сообщение для Cooskon Посмотреть профиль Найти все сообщения от Cooskon
 
Регистрация: 15.01.2010
Сообщений: 28

И вот ещё оффтоп-вопрос напоследок, чтобы не создавать лишней темы. Никак не могу разобраться:

Сообщение от Kolyaj Посмотреть сообщение
var a1 = new Parent();
var a2 = new Parent();
var child = new Child();
a1.child = child;
a2.child = child;
Какой из a1 и a2 родитель?
Здесь, как я понимаю, a1 и a2 получают ссылку на объект, и, к примеру, при
a1.child.property='somewhat';
a1.child.property тоже изменится. А как копировать объект child в свойства a1 и a2, чтобы a1.child не зависел от a2.child ?
Ответить с цитированием
  #7 (permalink)  
Старый 16.02.2010, 20:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Cooskon
А как копировать объект child в свойства a1 и a2, чтобы a1.child не зависел от a2.child ?
Создать новый объект и скопировать в него все свойства.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как по событию вызвать метод определенного экземпляра объекта jvs jQuery 3 24.12.2009 15:04
Подскажите как узнать существует ли объект в памяти? Yazla Общие вопросы Javascript 2 05.11.2009 19:05
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 00:12
как узнать тип значения объекта? VHS Общие вопросы Javascript 1 07.01.2009 22:57
как выполнить движение объекта scuter Элементы интерфейса 5 08.06.2008 22:57