首页 > 代码库 > 递归的简要介绍和理解
递归的简要介绍和理解
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 8 <body> 9 <script> 10 /* 11 * 递归 12 * 函数自己(内部)调用自己,递归 13 * 14 * 递归,本质上就是一个循环 15 * */ 16 17 // function fn1() { 18 // fn1(); 19 // } 20 // fn1(); 21 22 // function fn() { 23 // setTimeout(function () { 24 // console.log(1); 25 // fn(); 26 // }, 100); 27 // } 28 // fn(); 29 30 // function fn1() { 31 // console.log(1); 32 // fn2(); 33 // } 34 // 35 // function fn2() { 36 // console.log(2); 37 // fn1(); 38 // } 39 // 40 // fn1(); 41 </script> 42 </body> 43 </html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
/*
* 阶乘
* */
function factorial(n) {
if (n == 1) {
return 1;
}
return n * factorial(n-1);
}
/*
* 5 * factorial(4)
* 5 * 4 * factorial(3)
* 5 * 4 * 3 * factorial(2)
* 5 * 4 * 3 * 2 * factorial(1)
* 5 * 4 * 3 * 2 * 1
*
* 先调用的:factorial(5)
* 最后一次调用的:factorial(1)
*
* factorial(1)先执行完,factorial(5)是最后一次执行完成的
*
* 先进后出 -> FILO -> FirstInLastOut -> 栈
* 先进先出 -> FIFO -> FirstInFirstOut -> 队列
* */
console.log( factorial(5) );
</script>
</body>
</html>
递归的简要介绍和理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。