递归
概念
什么是递归?
在一个函数的内部执行 **自身**
特点
- 占内存
- 低版本浏览器中会造成内存泄漏
- 掌握编程思路,可以利用递归的思想,解决问题
- 代码非常简洁
递归解决问题的思路
- 递:向内执行
- 归:向外结束
注意:递归最重要的是终止条件
相关例题:
例题一:创建一个递归函数实现相关功能 完成阶乘的计算规则方式实现阶乘的相关效果。
提示:如要用递归进行相关的编程那么一定要进行要点的寻找要点有如下两点
一个为递归的相关公式
一个为递归的终点
找到两者之后进行相关的计算
注意:递归的相关公式不要用小括号进行包裹否则会出现报错:Maximum call stack size exceeded;
function fn(n){
if(n === 1){
return 1;
}else{
return (n-1)*n;
}
}
fn(5);//函数内部传进的参数
例题二:已知一段数字 1、1、2、3、5、8、13、21......
求:第N位的数字是多少
function fn(){
if(n === 1){
return 1;
}else if(n === 2){
return 1;
}else{
return (n - 1) + (n - 2);
}
}
fn(9);//求第9个数的值是多少