
输出是5,4,3,2,2,3,4,5
有疑惑的地方在于,为什么输出2,3,4,5的时候没有执行第一个debugger,而是凭空进入了函数内部。执行·一半的函数的状态是怎样的。主要是理解执行栈后进先出的机制。正序最后压入执行栈的是rec(2),所以先执行rec(2)的上下文,所以输出2,然后弹出栈,执行上一级。
递归函数执行机制解析

输出是5,4,3,2,2,3,4,5
有疑惑的地方在于,为什么输出2,3,4,5的时候没有执行第一个debugger,而是凭空进入了函数内部。执行·一半的函数的状态是怎样的。主要是理解执行栈后进先出的机制。正序最后压入执行栈的是rec(2),所以先执行rec(2)的上下文,所以输出2,然后弹出栈,执行上一级。
629

被折叠的 条评论
为什么被折叠?