Показать сообщение отдельно
  #1 (permalink)  
Старый 17.08.2009, 13:39
Новичок на форуме
Отправить личное сообщение для Человек Посмотреть профиль Найти все сообщения от Человек
 
Регистрация: 17.08.2009
Сообщений: 2

Хранение в объекте ссылки на другой объект
Доброго времени суток.

Что происходит в случае если я создаю свойство в объекте хранящее ссылку на другой объект? В этом свойстве будет храниться целая копия или же именно ссылка? И изменение первоначального экземпляра не приведет к изменению свойства того в котором хранится ссылка?

Приведу пример.

function Page(text, pointer) //страница кники
 {
  this.bookPointer=pointer; //указатель на книгу к которой относится страница
  this.text=text; //текст страницы
 }

function Book(name)
 {
  this.pages=new Array(); //массив оъектов "Page"
  this.name=name;
  this.addNewPage=function(text) //добавление новой страницы  
                                  {
                                    newPage=new Page(text, this); //создание новой страницы
                                     this.pages[this.pages.length]=newPage; //добавление в массив страниц
                                  }

}
newBook=new Book("JS");
newBook.addNewPage("qwerty");


Вопрос в следующем, bookPointer будет содержать ссылку наконкретный экземпляр Book или же целую копию? И изменение свойства newBook.name приведет к изменению newBook.pages[0].bookPointer.name?

Последний раз редактировалось Человек, 17.08.2009 в 13:43.
Ответить с цитированием