我正在尝试了解有关 JavaScript 递归函数的更多信息,但找不到将其用于前端 Web 开发的示例。(我只找到阶乘示例,这对我来说不是很有用)。
我应该在前端 Web 开发中使用递归函数的常见情况有哪些?
我正在尝试了解有关 JavaScript 递归函数的更多信息,但找不到将其用于前端 Web 开发的示例。(我只找到阶乘示例,这对我来说不是很有用)。
我应该在前端 Web 开发中使用递归函数的常见情况有哪些?
客户端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)
一个例子可能是:
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);