js如何实现递归函数


本文摘自PHP中文网,作者清浅,侵删。

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

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

【推荐教程:JavaScript教程】

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

1

2

3

4

5

6

7

8

<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)的值就是我们最后所要求的值

例:

1

2

3

4

5

6

7

8

9

10

<script>

 function revStr(str){

 //终止条件

 //str === ''是基本案例

  if (str === '') return '';

  //递归

  return revStr(str.substr(1)) + str[0];

}

console.log(revStr('cat'));

</script>

输出结果为:tac

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助。

以上就是js如何实现递归函数的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

typescript 和 javascript 的区别

js如何实现随机生成div的效果

js中的typeof和instanceof和===的区别

网站对联广告js代码分享

html5中怎么用js

tp5如何引入css文件

如何用js实现直接运行html的代码

jquery 过时了吗?

javascript的重构技巧

为什么css放上面js放下面

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...