Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2012, 01:16
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Скопировать объект но не стать им
function myBook(){
  this.x = 0;
  this.y = 0;
}

book = new Array();

book[0] = new myBook();
book[1] = book[0];

book[1].x = 1;
alert(book[0].x);


В этом случае book[1] - становится как бы ярлыком на book[0];
а мне надо так чтобы он скопировался, не подскажите как это сделать?

Последний раз редактировалось BorodinKO, 08.06.2012 в 01:19.
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2012, 01:59
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

function myBook(){
  this.x = 0;
  this.y = 0;
}

book = new Array();

book[0] = new myBook();
book[1] = new myBook();

book[1].x = 1;
alert(book[0].x);
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2012, 08:04
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Мне важно, чтобы book[1] принял теже параметры что и у book[0];

function myBook(){
  this.x = 0;
  this.y = 0;
}

book = new Array();

book[0] = new myBook();
book[0].x+=10;book[0].y+=10;

book[1] = book[0];

book[1].x = 1;
alert(book[0].x);
Ответить с цитированием
  #4 (permalink)  
Старый 08.06.2012, 10:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

function myBook(){
  this.x = 0;
  this.y = 0;
}

book = new Array();

book[0] = new myBook();
book[1] = new myBook();

book[1].x = book[0].x 
book[1].y = book[0].y 

book[1].x = 1

alert(book[0].x);
Ответить с цитированием
  #5 (permalink)  
Старый 08.06.2012, 16:03
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Maxmaxmахimus
//по этому это не полнцоенное копирование.
потому, что это "правильное" наследование : )
Мне остается только дать ссылку, по которой приводится пример как это сделать кросс-браузерно и немного невнятной альтернативы ниже.
function MyBook() {
	this.x = 0;
	this.y = 0;
}

MyBook.prototype.copyFrom = function( obj ) {
	var key;
	for( key in obj ) {
		if ( obj.hasOwnProperty( key ) ) {
			this[ key ] = obj[ key ];
		}
	}
};

book = [ new MyBook(), new MyBook() ];

book[ 0 ].x = 11;
book[ 0 ].y = 12;

book[ 1 ].copyFrom( book[ 0 ] );

alert( book[ 1 ].x );
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Страничка получает объект с null-значением от java-апплета JavaCommando Общие вопросы Javascript 1 27.11.2011 10:58
Передать ссылку на объект а не объект возникновения события Blazze Events/DOM/Window 0 11.10.2011 00:45
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Общие вопросы Javascript 1 13.04.2011 22:09
Объект не поддерживает это свойство или метод load_081112_0953.js 1auto1 Internet Explorer 1 13.04.2011 21:59
Можно ли удалить клонированный объект Евгений_86 jQuery 6 13.04.2011 12:54