JavaScript 递归函数调用覆盖



我有一个函数:

function brackets(openStock, closeStock, s) {
  if (openStock == 0 && closeStock == 0) {
     document.getElementById('demo').innerHTML = s;
  }
  if (openStock > 0) {
     brackets(openStock - 1, closeStock + 1, s + "(");
  }
  if (closeStock > 0) {
     brackets(openStock, closeStock - 1, s + ")");
  }
}

它应该将括号的组合写成段落"demo",但是在写完第一个之后,其他括号不会写到段落中。由于它是一个递归函数,我不知道如何一个接一个地连接结果(组合)。

function brackets(openStock, closeStock,s) 
{
    if (openStock == 0 && closeStock == 0) {
       var e = document.createElement('div');
       e.innerHTML = s;
       while(e.firstChild) {
          document.getElementById('demo').appendChild(e.firstChild);
       }
    }
    if (openStock > 0) {
        brackets(openStock-1, closeStock+1, s + "(");
    }
    if (closeStock > 0) {
        brackets(openStock, closeStock-1, s + ")");
    }
}

最新更新