用尾递归(tailRecursive)实现的阶乘-JavaScript版本

  • 2020 年 3 月 18 日
  • 筆記

<html>  <script>    function factorial(n){    if(n ===1) {       return 1;    }    return n *factorial(n -1);  }      function tailFactorial(n, total) {   if(n ===1)      return total;   return tailFactorial(n -1, n * total);  }    function factorial2(n) {    return tailFactorial(n,1);  }    var N = 20;  console.time("normal recursive");  console.log(factorial(N));  console.timeEnd("normal recursive");  console.time("tail recursive");  console.log(factorial2(N));  console.timeEnd("tail recursive");    </script>  </html>