1. 尾递归

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