什么是递归函数?这也是很经典的面试题
简单来说就是一个方法,自己调用自己
注意:递归方法,一定要控制好何时跳出,否则就是死循环
例:使用递归算法1-20之间所有数之和
function calc(num) {
if (num === 1) { //这个if是退出递归的条件
return num //如果num等于1,就停止调用不再执行
}
return num + calc(num - 1)
}
console.log(calc(20));
例:实现系统菜单
function fun1() {
let menu = parseInt(prompt('1.添加 2.修改 3.删除 4.查询 0.退出'))
switch (menu) {
case 1:
alert('执行添加')
fun2() //在方法内部,又重新调用自己
break;
case 2:
alert('执行修改')
fun2()
break;
case 3:
alert('执行删除')
fun2()
break;
case 4:
alert('执行查询')
fun2()
break;
default:
alert('欢迎下次继续使用');
break;
}
}
fun2()