我正在尝试了解有关JavaScript递归函数的更多信息,但我找不到将其用于前端Web开发的示例。 (我只找到阶乘的例子,这对我来说不是很有用)。
我应该使用递归函数进行前端Web开发的常见情况是什么?
答案 0 :(得分:2)
客户端javascript中递归的#1用例是树遍历。由于DOM和JSON都是树结构,因此大多数时候使用递归来遍历它们,遵循“对节点执行某些操作并对其后代节点重复相同”模式,例如:
uppercase_text_nodes(node): // pseudocode
if node.type == TEXT
node.value = node.text.toUpperCase
else for each child in node.children
uppercase_text_nodes(child)
答案 1 :(得分:1)
一个例子可能是:
var walkDOM = function (node) {
var func = function (node) {
console.log(node);
};
func(node);
node = node.firstElementChild;
while (node) {
walkDOM(node);
node = node.nextSibling;
}
};
const parentEl = document.getElementById('parent');
walkDOM(parentEl);