Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2012, 09:06
Интересующийся
Отправить личное сообщение для EvgeniyRRU Посмотреть профиль Найти все сообщения от EvgeniyRRU
 
Регистрация: 30.09.2011
Сообщений: 14

Как получить два разных значения одного объекта
Известный факт, что некое присвоение
var a = someObject{
        property1: 'Value1',
        property2: 'Value2'
};

Просто передаст переменной a ссылку на объект someObject. А при изменении объекта someObject соответственно изменится значение a. Вот тут и встал вопрос, а каким образом возможно куда-то сохранить старое значение someObject, чтобы потом его сравнить с новым значением?

Возможно ли это вообще?
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2012, 10:47
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,832

Сообщение от EvgeniyRRU
каким образом возможно куда-то сохранить старое значение someObject
Вот поищи там про "clone"
http://javascript.ru/tutorial/object/intro
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2012, 12:11
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от EvgeniyRRU Посмотреть сообщение
var a = someObject{
        property1: 'Value1',
        property2: 'Value2'
};

а разве так можно писать?

Разве не так надо:

var someObject = {
        property1: 'Value1',
        property2: 'Value2'
};
var a = someObject;

Последний раз редактировалось dmitry111, 21.09.2012 в 12:18.
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2012, 12:12
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

ksa,

не могли бы указать место по конкретней, не нашел (
Ответить с цитированием
  #5 (permalink)  
Старый 21.09.2012, 13:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,832

Сообщение от dmitry111
не могли бы указать место по конкретней
Да первое вхождение "clone" его и показывает!

Цитата:
Автор: PieceOfMeat (не зарегистрирован), дата: 29 марта, 2010 - 17:12
#permalink

Прошу прощения если не заметил, но по-моему у вас нигде не написано, что объекты в Javascript передаются и копируются по ссылке.

И было бы интересно увидеть функцию clone, которая делала бы копирование объектов по значению.
Ответить
Цитата:
Автор: B@rmaley.e><e, дата: 30 марта, 2010 - 23:41
#permalink

function clone(obj){
 var newObj = {}, i;
 for(i in obj)
 newObj[i] = obj[i];
 return newObj;
 }


TODO: Добавить рекурсивое клонирование
Ответить с цитированием
  #6 (permalink)  
Старый 21.09.2012, 14:24
Интересующийся
Отправить личное сообщение для EvgeniyRRU Посмотреть профиль Найти все сообщения от EvgeniyRRU
 
Регистрация: 30.09.2011
Сообщений: 14

dmitry111,
прошу прощения за оплошность, писал по памяти, не из кода. Попробую реализовать это клонирование.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать выборку среди детей одного элемента Почемучкин jQuery 4 28.08.2012 23:51
Как получить значения вышестоящих элементов дерева TreeStore ? Allan Stark ExtJS 1 31.07.2012 15:48
Как получить количество дней до определенной даты beard Общие вопросы Javascript 3 24.06.2012 16:22
Как получить значение переменной из callback функции? Хиросим AJAX и COMET 5 24.04.2012 08:32
Получить значения доп. полей select-option arcanerain Общие вопросы Javascript 11 29.09.2010 02:02