我想创建一个图表,以可视化JavaScript中对象之间的关系。
这是我用来生成图形的节点和边缘的函数。我只需为给定的每个初始对象调用此函数(在本例中为“正方形”和“矩形”)。
function addNodes(obj, parent, parent_id) {
if (obj == null) {
} else if (objects.includes(obj)) {
var id = objects.indexOf(obj);
edges.add([{id: e++, from: parent_id, to: id}]);
} else {
var obj_id = n++;
if (obj instanceof Object) {
objects[obj_id] = obj;
}
if (parent != null) {
nodes.add([{id: obj_id, label: obj.toString()}]);
edges.add([{id: e++, from: parent_id, to: obj_id}]);
} else {
nodes.add([{id: obj_id, label: obj.my_name}]);
}
if (obj instanceof Object) {
for (var k in obj) {
addNodes(k, obj, obj_id);
}
var p = Object.getPrototypeOf(obj);
addNodes(p, obj, obj_id);
}
}
}
我的程序正常工作并产生合理的结果:my graph,但是与示例结果相比,仍然缺少一些内容(尤其是.prototype
对象和Function
原型):{{3 }}。
是否可以访问这些对象?我怎样才能获得“功能”原型?