将对象添加到另一个对象中的另一个对象中

时间:2012-02-16 07:51:12

标签: javascript extend

假设有三个对象,一个音符,一个音符状态和历史记录:

var note = {
    text: "hello new world"
}

var history = {}
var noteState = {}

我如何能够将note添加到noteState中,然后将noteState添加到历史记录中?

我可能做的事情如下:

$.extend(noteState, {"note1": note});
$.extend(history, {"noteState1": noteState});

如果我要回过头来从笔记中获取文字,我该怎么做呢?

history.noteState1.note1.text  // ?

还是有其他方法可以解决这个问题吗?谢谢!

3 个答案:

答案 0 :(得分:3)

为什么不简单

var note = {
    text: "hello new world"
}

var history = {}
var noteState = {}

noteState.note = note;
history.noteState= noteState;
alert(history.noteState.note.text);//alerts hello new world

答案 1 :(得分:0)

是的,您可以这样做而且您不必使用extend,只需设置属性即可。你甚至不必使用不同的名字,所以下面会做的很好:

noteState.note = note;
history.noteState = noteState;

然后,就像你写的那样,你可以使用

 history.noteState.note.text

检索嵌套属性。

答案 2 :(得分:0)

我猜你也可以使用 prototype 属性链接你的对象