js递归,尾递归优化

2017-12-15  本文已影响0人  Nic_ofh

一开始阶层递归,每次递归可以获取值

function jiacheng(n) {
  if (n === 0) {
    return
  }
  return n * jiacheng(n);
}

优化: 使用尾递归,最后一次递归才返回所需要的值

function jiaChengLast(n, total=1) {
  if (n === 0) {
    return total;
  }
  return jiaChengLast(n - 1, total * n)
}

查考文章: http://www.zcfy.cc/article/all-about-recursion-ptc-tco-and-stc-in-javascript-2813.html

上一篇 下一篇

猜你喜欢

热点阅读