Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.12.2014, 18:42
Новичок на форуме
Отправить личное сообщение для xtfkpi Посмотреть профиль Найти все сообщения от xtfkpi
 
Регистрация: 14.10.2014
Сообщений: 5

Как заставить две переменные ссылаться на один и тот же объект в памяти?
Доброго дня, уважаемые JavaScript-гуру. Обыскал по справке и по руководству - не могу понять как заставить две переменные ссылаться на один и тот же объект в памяти?
делаю cb=b=1;
и после изменения b, в cb остается старое значение. можно ли сделать так чтобы при изменении b, то же значение было бы и в cb?
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2014, 18:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

в нашем императивном языке так низя
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2014, 19:43
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,105

Стандарт явно говорит что примитивные типы копируются по значению;

т.е. в строке "cb=b=1" переменным присваивается значение примитивного типа и никак такое поведение обойти невозможно;

но можно добиться схожего поведения через сеттеры и гетеры
function MyType (par){
	this._val = par;
};
MyType.prototype = {
	set val(p) {return this._val = p},
	get val() {return this._val}
};
cd = b = new MyType (1);;

b.val = 15;
alert (cd.val);

b.val = b.val + b.val + b.val;
alert (cd.val);

к переменным придется обращатся не как к "cd" , "b" а как "cd.val" и "b.val"
IE не поддерживает стандарт по этому такой код там может не работать
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить событие сработать один раз GRean Javascript под браузер 4 06.06.2010 23:29
Как при наведении на один объект изменять стили других? greysells jQuery 4 06.12.2009 10:00
Подскажите как узнать существует ли объект в памяти? Yazla Общие вопросы Javascript 2 05.11.2009 19:05
Как передать две переменные а acomplete zver911 jQuery 8 03.07.2009 13:39
Как заставить this в обработчике события указывать на объект? Dmitryk Events/DOM/Window 3 16.03.2009 07:45