Javascript结合了两个保持引用的对象

Javascript combine two objects keeping references

本文关键字:引用 对象 两个 结合了 Javascript      更新时间:2023-09-26

我想做的一个简单的例子:

data = {name: 'fred'};
newData = {};
newData.name = data.name;
newData.name = 'ted';
console.log(data.name); // I want this to be ted not fred

是否可以在Javascript中编辑第二个对象并让它修改第一个对象?我正在使用 alloyui 1.5 (yui 3.4.0) 并尝试合并对象以创建数据表,以便数据显示在一行上,但它需要可编辑,因此它需要指向原始对象。

这样的事情是可能的,还是我需要使用事件将数据推送回第一个对象?

如果对象的属性也是一个对象,则可以执行此操作。这有效:

data = {name: {first:'fred'}};
newData = {};
newData.name = data.name;
newData.name.first = 'ted';
console.log(data.name.first) // outputs ted

是的,您可以使用javascripts Object()将第一个(您的数据对象)作为newData进行新的对象引用。更改任一对象属性会反映到另一个对象属性

data = {name: 'fred'};
var newData = new Object(data);
newData.name = 'ted';
console.log(data.name);// outputs ted

你可以在这里阅读更多关于 Object() 的信息