
Javascript进阶之尾调用优化
尾调用(Tail Call)指的是在一个函数的最后执行的函数调用,也就是说这个函数调用之后没有任何其他的计算需要执行。由于尾调用是函数的最后一个动作,所以不需要保留当前函数的上下文,这使得编译器或解释器有机会优化内存使用,释放掉当前函数的栈帧,只保留尾调用函数的栈帧,或者复用当前函数的栈帧。这种优化策略就是尾调用优化(Tail Call Optimization, TCO)。更特别的,如果尾调用的对象是自身,就称为尾递归,相应的优化称为尾递归优化。本文通过实验直观演示了node,js的尾递归优化。






