JavaScript递归函数的代码怎么写


这篇文章主要介绍“JavaScript递归函数的代码怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript递归函数的代码怎么写”文章能帮助大家解决问题。递归是一种通过迭代解决问题的方法。换句话说,递归函数是一个无限重复调用自身的函数(或直到某事停止它)。每当你选择使用递归函数时,请记住这两个基本信息。递归函数不同于立即调用函数表达式(IIFE)。IIFE 会自动调用一次自身。但是,递归函数会在无限时间内自动重复调用自己,或者直到某些东西停止重新调用为止。为停止递归函数的重新调用而编写的代码称为基本情况。在创建递归函数时定义基本情况总是很重要的——这样函数就不会无休止地运行,从而使浏览器崩溃。下面是一个JavaScript代码,它返回通过函数的递归调用返回的所有值串联countDown()
笔记在上面的递归算法中,countDown(num - 1)代码使整个函数成为递归,因为是代码使countDown()recall本身重复。当我们调用countDown函数并传入值2(即countDown(2))时,算法开始运行如下:计算机检查了2我们传递给函数num参数的countDown值是否小于0由于2不小于0,计算机没有执行if语句的代码。相反,它跳到if语句之后的下一个代码——递归代码。跳过if语句后,计算机执行return num + " " + countDown(num - 1)代码——但num用参数的值(即2替换参数,如下所示:
在上面第 2 步的代码中,请注意该return命令无法返回任何值,因为该return语句包含countDown(1)调用该countDown函数的递归代码 ( ) 因此,在保留return语句的其他部分(即2 + ", " +)的同时,计算机将只执行递归代码(countDown(1))。换句话说,countDown(1)代码将countDown在传入 value 时自动调用该函数1然后,算法将通过检查是否1小于重新开始运行0由于1不小于0,计算机跳到递归代码,如下所示:
再次注意,该return命令(在第 3 步中)不能返回任何值,因为该return语句包含countDown(0)调用该countDown函数的递归代码 ( ) 因此,在保留return语句的其他部分(即2 + ", " + 1 + ", " +)的同时,计算机将只执行递归代码(countDown(0))。因此,countDown(0)代码将countDown在传入 value 时自动调用该函数0然后,该函数将通过检查是否0小于重新开始运行0由于0不小于0,计算机跳到递归代码,如下所示:
再说一次,该return命令(在第 4 步中)不能返回任何值,因为该return语句包含一个递归代码 ( countDown(-1)) 来调用该countDown函数。因此,在保留return语句的其他部分(即2 + ", " + 1 + ", " + 0 + ", " +)的同时,计算机将只执行递归代码(countDown(-1))。因此,countDown(-1)代码将countDown在传入 value 时自动调用该函数-1然后,该函数将通过检查是否-1小于重新开始运行0此时,-1小于0因此,计算机将if通过返回值来执行语句的代码,“Recursion Stopped!”如下所示:
最后,该return语句现在具有可以有效连接和返回的值。因此,从的返回值countDown将是:
关于“JavaScript递归函数的代码怎么写”的免费云主机域名内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 如何用C语言实现简单的停车场管理系统

本篇内容主要讲解“如何用C语言实现简单的停车场管理系统”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用C语言实现简单的停车场管理系统”吧!1)有一个两层的停车场,每层有6个车位,当第一层车位停满后才允 许使用第…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/21 21:03
下一篇 08/21 21:56

相关推荐