Я хочу создать график, визуализирующий отношения между объектами в 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);
}
}
}
Моя программа работает и дает правдоподобные результаты: мой график , однако некоторые вещи отсутствуют по сравнению с примером (особенно объекты .prototype
и прототип Function
): пример график .
Есть ли способ, которым я мог бы получить доступ к этим объектам? Как я могу добраться до прототипа «Function»?