函数调用自身

不知道为什么,看到这种写法,就有一种怪怪的感觉,网上查了查,确实经常用来解决子问题。

function a() {
    a()
}

想问一下这种用法推不推荐,或是有什么优点和缺点

阅读 6.1k
4 个回答

递归,满足条件后退出,如果不能处理好这个满足条件则会无限循环,可能导致浏览器卡死

这种一般在函数里加上判断,如果满足或者不满足条件,再调用自身,不然一直循环调用了

这是递归,一般情况用于处理由相同子任务组成的大任务,每次递归调用解决一个小任务以达到处理整个大任务的目的。不过需要设置退出条件,不然程序永远无法退出,会导致程序崩溃。

递归在算法中很常用,不过递归肯定比非递归复杂,所以能不递归则不递归。但处理复杂非线性数据,比如树、图之类的,则几乎必须用递归。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题