递归 js

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全选与单选</title>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<p>js递归排序,普通阶乘实现和递归实现阶乘</p>
<p>当一个函数被递归调用时,在递归没有完成的时候,函数的计算结果暂时被挂起
</p>
<p>递归5
<pre>
5*recursion(4);
5*4*recursion(3);
5*4*3*recursion(2);
5*4*3**2recursion(1);
return 5*4*3*2*1;


</pre>

</p>
<script type="text/javascript">
//普通方法
// function conmonMultiply(num){
// var result=1;
// for(var i = 1 ;i<=num;i++){
  //             result= result*i;
// }
// return result;
// }
//var s1 = conmonMultiply(4);
//alert(s1);
//方法2 使用递归实现阶乘
function recursion(num){
if(num ==1){return num}else{
return num*recursion(num-1);
};
          };
         var s2 = recursion(3);
         alert(s2);


</script>



</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
### 回答1: 答:JavaScript中的递归函数是一种特殊的函数,它自己调用自己,以解决特定的问题。它的基本结构如下:function recurse(param1, param2, ...) { // 递归函数的代码 recurse(param1, param2, ...); // 重复调用自身 } ### 回答2: 递归是一种在函数内部调用自身的编程技巧。在JavaScript中编写递归函数是很常见的,以下是一个示例: ```javascript // 示例:计算阶乘 function factorial(n) { // 基准情况:当n为1或0时,阶乘为1 if (n === 1 || n === 0) { return 1; } // 递归情况:n乘以(n-1)的阶乘 return n * factorial(n - 1); } // 调用递归函数计算阶乘 console.log(factorial(5)); // 输出120,因为5的阶乘为 5*4*3*2*1 = 120 ``` 上述代码中,我们定义了一个名为`factorial`的递归函数,用于计算给定参数`n`的阶乘。在递归函数内部,我们使用了两种情况。 首先,我们定义了基准情况,即当`n`为1或0时,阶乘为1。这是递归的停止条件,当达到该条件时,递归将停止并返回相应的结果。 其次,我们定义了递归情况,即当`n`大于1时,我们将`n`乘以`n-1`的阶乘,从而实现了递归调用。这意味着在每一次递归中,问题规模都会变小,直到满足基准情况为止。 最后,我们通过调用`factorial`函数并传入一个数值参数来演示递归。如果我们传入5,则应该返回5的阶乘120,您可以使用`console.log`来查看计算结果。 这只是一个简单的示例,递归函数的应用远不止计算阶乘。通过递归,您可以解决各种复杂的问题,例如树的遍历、链表的反转等等。 ### 回答3: 递归函数是指在函数定义中调用自身的函数。下面是一个递归函数的例子,使用JavaScript编写: ```javascript function countdown(n) { // 基准情况:当n小于等于0时,停止递归 if (n <= 0) { console.log("倒计时结束!"); } else { console.log(n); // 递归调用countdown函数,并传入n-1作为参数 countdown(n - 1); } } countdown(5); ``` 上述代码定义了一个名为countdown的递归函数。该函数接受一个参数n,并在每次调用时将当前的n值打印到控制台。如果n小于等于0,则递归停止,否则,再次调用countdown函数,并传入n-1作为参数。 当我们调用countdown(5)时,该函数会从5开始倒数,依次打印数字5、4、3、2、1,最后打印"倒计时结束!"。 递归函数在解决问题时非常有用,可以简化复杂的问题,提高代码的可读性和可维护性。但需要注意的是,递归函数可能会导致堆栈溢出,因此需要小心处理递归的终止条件,确保递归可以在有限次数内结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值