递归的简要介绍和理解
Posted catEatBird
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了递归的简要介绍和理解相关的知识,希望对你有一定的参考价值。
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>
以上是关于递归的简要介绍和理解的主要内容,如果未能解决你的问题,请参考以下文章