一、如何理解尾递归

function story() {
从前有座山,
山上有座庙,
庙里有个老和尚,
一天老和尚对小和尚讲故事:story()
// 尾递归,进入下一个函数不再需要上一个函数的环境了,得出结果以后直接返回。
}

function story() {
从前有座山,
山上有座庙,
庙里有个老和尚,
一天老和尚对小和尚讲故事:story(),
小和尚听了,找了块豆腐撞死了
// 非尾递归,下一个函数结束以后此函数还有后续,所以必须保存本身的环境以供处理返回值。
}

作者:酿泉
链接:https://www.zhihu.com/question/20761771/answer/23254340
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

你可能感兴趣的:(一、如何理解尾递归)