2013-05-01 54 views
1

我想將數據存儲在兩個不同的結構化對象如:JavaScript對象內容通過引用分配,這可能嗎?

MS = {    
    waypoints: 
     { 'wpg0' : 'content', 
      'id' : 'uuid1' 
        } 
}; 

InvertedMS = { 
    'uuid1': { 'wpg0' : 'content' 
      } 
}; 

是否(以及如何)可以設置「內容」的方式,因爲它在一個被更新的兩個對象進行更新他們倆?

here my experimental jsfiddle

+0

感謝jAndy的答案,我創造了這個的jsfiddle,這表明在JavaScript中傳遞的引用(對象中)http://jsfiddle.net/efrZH/ – 2013-05-01 11:20:24

回答

1

是的,這是非常可能的。但是您需要一個純粹的對象參考而不是原始值。由於ECMAscript只能通過參考左右,這幾乎意味着你想要什麼。例如

var sharedData = { }; 

waypoint = { 
    wpg0: sharedData 
}; 

InvertedMS = { 
    uuid1: { 
     wpg0: sharedData 
    } 
}; 

現在,以後如果在sharedData改變什麼,它的所有引用將反映這些變化。

sharedData.update = 42; 

console.log(InvertedMS.uuid1.wpg0.update); // 42 

waypoint.wpg0.update = 82; 

console.log(InvertedMS.uuid1.wpg0.update); // 82 
+0

感謝您的信息! – 2013-05-01 11:21:06