递归
概念:函数可以自己调用,称为递归调用。
函数的递归调用过程:
1、首先找一个临界值,即无需计算就可获得的值。
2、找这一次和上一次的关系。
3、假设当前函数已经可以使用了,调用自身计算上一次的运行结果,再写出这一次的运行结果。
递归的特点:
1、必须有参数
2、必须有return
3、递归会在短时间内使内存剧增
例:使用递归计算1加到n的和,此例n为100
找这一次和上一次的关系:
num(100) = num(99) + 100;
num(n) = num(n - 1) + n;
function num(n){
if(n == 1){
return 1;
}
return num(n - 1) + n;
}
alert(num(100));
//5050
例2:使用递归,打印出n个hello world
function print(n){
if(n == 0){
return;
}
document.write("hello world!<br />");
return print(n -1);
}
print(10);