1

我正在尝试了解有关 JavaScript 递归函数的更多信息,但找不到将其用于前端 Web 开发的示例。(我只找到阶乘示例,这对我来说不是很有用)。

我应该在前端 Web 开发中使用递归函数的常见情况有哪些?

4

2 回答 2

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)
于 2013-01-20T18:23:34.297 回答
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);
于 2018-08-04T04:37:27.903 回答