function f(x){ return g(x); }
函数f
的最后一步是调用函数g
,这就叫尾调用。
// 情况一 function f(x){ let y = g(x); return y; } // 情况二 function f(x){ return g(x) + 1; } // 情况三 function f(x){ g(x); }
function f(x) { if (x > 0) { return m(x) } return n(x); }函数m
和n
都属于尾调用,因为它们都是函数f
的最后一步操作。
函数调用自身,称为递归。如果尾调用自身,就称为尾递归
function factorial(n, total) { if (n === 1) return total; return factorial(n - 1, n * total); } factorial(5, 1) // 120
原文:https://www.cnblogs.com/blogZhao/p/12559556.html