递归函数如何在JavaScript中工作?