Поиск в глубину (DFS) посещает узел перед тем, как рекурсивно посетить его дочерние элементы. Такой подход хорошо подходит для обхода DOM-дерева, когда ты обрабатываешь каждый элемент по мере спуска по иерархии.
function traverse(element, callback) {
callback(element);
for (const child of element.children) {
traverse(child, callback);
}
}
element (исходный DOM-узел) и callback, который выполняется на каждом посещённом узлеcallback(element) вызывается сразу же для текущего узла, перед обработкой его потомков — это определяющая характеристика pre-order DFSelement.children возвращает только элементы (исключает текстовые узлы и комментарии), что делает обход чищеelement.children вместо element.childNodes, чтобы не посещать неэлементные узлы — текстовые и комментарииПри обходе DFS в порядке pre-order callback выполняется на узле после того, как все его потомки были обработаны.
Новый — ещё не проверен сообществом
Вы