假设有三个对象,一个音符,一个音符状态和历史记录:
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 // ?
还是有其他方法可以解决这个问题吗?谢谢!
答案 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 属性链接你的对象