js 递归的基本使用
什么是递归
递归的本质就是函数本身中自己调用自己
打个比方,你在山谷里喊一声‘你好’,就会听到无数个‘你好’。
递归也一样当自己调用自己时候,回无限循环下去。当然,声音不会永远的持续下去,因为每一次传递都会有能量的损失,当能量为0时,也就没有声音了。
所以递归一旦写出,一定要有一个参考值(能量),设置停止条件,否则一直调用,电脑内存一直占用,直到死机。
使用案例
当使用递归时候,往往会有一个隐形的链式数据结构。
不同 的项目处理形式也不一下,这个只是做一个简单的列举
下面展示一些 内联代码片
。
html 复制可以直接使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<script>
let sum = []
function foo(num){
if (num === 10) {
return
} else {
num = num + 1
sum.push(num)
foo(num)
console.log(sum);
}
}
</script>
<body>
<button onclick="foo(2)">按钮</button>
</body>
</html>