递归函数
一、 递归函数
1、 满足以下三个条件就是递归:
1)、函数自己调用自己;
2)、一般情况下有参数;
3)、一般情况下有return;
*递归能解决循环能做的所有事情,有一些循环不容易解决的,他也能解决,且都能写出来,但是不知道为什么是对的。
*公司面试常做面试题,但是公司一般会禁止使用递归,内存机制问题。
例题1、计算1+2......+100的和
function add1(n){
// 首先找临界值,即无需计算即可获得的值,满足条件返回结果;
if(n===1){
return 1;
}else{
//找这次函数和上一次的关系;add(n)=add(n-1)+n
return add1(n-1)+n;
}
}
document.write(add1(100));//结果为5050
例题2、输出n个“hello word"
function add2(n){
// 首先找临界值,即无需计算即可获得的值,满足条件返回结果;
if(n==1){
return "hello word";
}else{
//找这次函数和上一次的关系;add(n)=add(n-1)+"hello word"
return add2(n-1)+"hello word";
}
}
document.write(add2(10));