javascript对象内容通过引用分配,这可能吗?
我想将数据存储在两个不同的结构化对象中,例如:javascript对象内容通过引用分配,这可能吗?,javascript,object,Javascript,Object,我想将数据存储在两个不同的结构化对象中,例如: MS = { waypoints: { 'wpg0' : 'content', 'id' : 'uuid1' } }; InvertedMS = { 'uuid1': { 'wpg0' : 'content' } }; 当“内容”在两个对象中的一个对象中更新时,是否(以及如何)以一种方式在两个对象中更
MS = {
waypoints:
{ 'wpg0' : 'content',
'id' : 'uuid1'
}
};
InvertedMS = {
'uuid1': { 'wpg0' : 'content'
}
};
当“内容”在两个对象中的一个对象中更新时,是否(以及如何)以一种方式在两个对象中更新它
是的,这是很有可能的。但您需要的是纯对象引用,而不是基本值。由于ECMAscript有效地只传递referencens,这几乎暗示了您想要什么。比如说
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
是的,这是很有可能的。但您需要的是纯对象引用,而不是基本值。由于ECMAscript有效地只传递referencens,这几乎暗示了您想要什么。比如说
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
感谢jAndy的回答,我创建了这个JSFIDLE,它用javascript(在对象内)演示了通过引用传递。感谢jAndy的回答,我创建了这个JSFIDLE,它用javascript(在对象内)演示了通过引用传递