我试图从概念上理解这是如何工作的?
我可以测试所有不同的位置并弄清楚,但我希望能够实时做到这一点,好像这是一个面试问题。
这适用于JavaScript和DOM。以下是工作代码:
const depthFirst = (callback) => {
const traverse (node) => {
// ?
node.childNodes.forEach( (child) => {
// ?
traverse(child);
// ?
});
// ?
};
traverse(document.body);
};
答案 0 :(得分:0)
这是您可能期望的。
const depthFirst = (callback) => {
const traverse (node) => {
// pre-order
node.childNodes.forEach( (child) => {
// in-order
traverse(child);
// nothing
});
// post-order
};
traverse(document.body);
};