Как заставить две переменные ссылаться на один и тот же объект в памяти?
Доброго дня, уважаемые JavaScript-гуру. Обыскал по справке и по руководству - не могу понять как заставить две переменные ссылаться на один и тот же объект в памяти?
делаю cb=b=1; и после изменения b, в cb остается старое значение. можно ли сделать так чтобы при изменении b, то же значение было бы и в cb? |
в нашем императивном языке так низя
|
Стандарт явно говорит что примитивные типы копируются по значению;
т.е. в строке "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 не поддерживает стандарт по этому такой код там может не работать |
| Часовой пояс GMT +3, время: 13:32. |