【发布时间】:2018-02-02 20:51:02
【问题描述】:
这是一个遍历整个文档对象模型的简单函数。我想了解这是广度优先还是深度优先以及如何理解原因:
var traverseDOM = function () {
function traverse (parent) {
// mark 1
_(parent.childNodes).forEach((child) => {
traverse(child);
}
// mark 2
}
traverse(document.body);
}
这似乎是来自此相关SO Post 的深度优先搜索。
可以根据wikipedia进一步分类。
InOrder、PreOrder 和 PostOrder。
【问题讨论】:
-
这是 DFS。 BFS 没那么简单。
-
手动执行,看看它处理树中节点的顺序。
-
顺便说一句,圆形图不会终止...
-
问题是你了解DFS还是BFS,还是只想了解这个具体的例子?
-
@pedromss 它正在遍历 DOM,这是一个层次结构,不允许循环。
标签: javascript computer-science