温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

js实现递归函数的方法

发布时间:2020-08-26 10:47:11 来源:亿速云 阅读:151 作者:小新 栏目:web开发

小编给大家分享一下js实现递归函数的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

 js中的递归函数就是指的是在代码中调用自身的函数,它具有三个特征分别是当输入错误时发生终止的终止条件,基本案例它是递归函数的目标,递归即函数实现的功能

递归函数指的一个函数调用自身函数,接下来在文章中为大家分享的是在js中如何实现递归函数,具有一定的参考价值,希望对大家有所帮助。

js实现递归函数的方法

我们可以使用JavaScript从函数的外部或者是在其他函数中调用函数。甚至是可以从内部调用函数。当一个函数调用自身时,就称为递归函数,例

<script>
  function demo(x) {
  if (x < 0) return;
  if (x === 0) return 1;
  return x * demo(x - 1);
}
console.log(demo(3));
</script>

输出结果为:6

从上面的例子可以看出在return x * demo(x - 1)中实际上是再次调用自身函数(demo(x-1)),但是其参数比第一次调用的参数少一个,这就是递归函数

递归函数的三大特征

终止条件

终止条件就类似于紧急制动器,它在输入错误的情况可以防止递归,在上文的案例中“if (x < 0) return”就是设置的终止条件,所以说当输入负数时就不会运行递归函数。

基本案例

基本案例就是递归函数的目标。基本案例通常是放在一个if语句中,在上文的案例中“if (x === 0) return 1;"就是一个基本案例,因为当x的值减少到0时就能成功的确认阶乘值了

递归

递归就是实现的功能,在上例中“return x * demo(x — 1);”就是递归函数实际发生的位置,将函数返回的值x乘以demo(x-1)的值就是我们最后所要求的值

例:

<script>
 function revStr(str){
 //终止条件
 //str === ''是基本案例
  if (str === '') return '';
  //递归
  return revStr(str.substr(1)) + str[0];
}
console.log(revStr('cat'));
</script>

输出结果为:tac

看完了这篇文章,相信你对js实现递归函数的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI