如何在 javascript 中引用一个对象?我有以下代码:
// define nodes
var NodeA = new Object();
var NodeB = new Object();
NodeA = {
name: "A",
children: [
NodeB
]
}
NodeB = {
name: "B",
children: []
};
var test = NodeA.children[0].name;
// How can I make test = "A" ??? <----------------
alert(test);
我知道如果我在创建 NodeA 之前创建 NodeB 它将解决我的问题。
最佳答案
您可以使用 Object.assign将属性分配给 NodeB
而不是将 NodeB
设置为对全新对象的引用:
var NodeB = {};
var NodeA = {
name: "A",
children: [
NodeB
]
}
Object.assign( NodeB, {
name: "B",
children: []
} );
var test = NodeA.children[0].name;
alert(test);
请注意,对于 Object.assign
支持的 Internet Explorer,您需要使用 Polyfill .
您也可以只将属性分配给现有对象,而不是使用对象文字表示法来创建新对象:
var NodeB = {};
var NodeA = {
name: "A",
children: [
NodeB
]
}
NodeB.name = "B";
NodeB.children = [];
var test = NodeA.children[0].name;
alert(test);
关于javascript - 在javascript中创建树状结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36921953/