用于Javascript前端Web开发中的递归函数的用例

时间:2013-01-20 18:12:47

标签: javascript recursion

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

我应该使用递归函数进行前端Web开发的常见情况是什么?

2 个答案:

答案 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);