递归是指函数自己调用自己。
注意:我们可以写出递归,但是我们并不知道她如何得出结果。
1.面试官如果问你递归的相关知识,面试官的水平还不错。
2.但是在工作中,一般情况下禁止使用递归。
方法:
1.首先去找临界值,既无需计算,获得的值。
2.找这一次和上一次的关系
3.假设当前的函数已经可以使用,调用自身计算上一次的运行结果,再写出这次的运行结果
特点:
1.必须有参数
2.必须由return返回值
举个小例子:
计算1加到n的和
分析:
先来封装一个函数为sun(n); 找出临界值,如果n==1时,就直接return返回1
然后我们先来假设计算到100的和,就要用sum(100) = sum(99)+100;前99的和再加上100
这样可以得出1加到n的公式,sum(n) = sum(n-1)+n;
从sum(1)加到sum(100)这就是一个递归
function sum(n){ if(n = 1){ return 1; } return sum(n - 1)+n; } alert(sum(100));
注意:递归会在短时间内,使内存剧增,这也是工作中一般禁止使用的原因
关于递归我们来写一个练习
打印n个hello world
分析:
1.首先定义一个函数function print(n){}
2.找出一个临界值,n==0时,就不需要打印了,直接return;即可
3.不等于0时,直接document.write打印hello world
4.然后紧跟着return print(n-1); 依次打印
<script type = "text/javascript"> function print(n){ if(n == 0){ return; } document.write( "hello world !<br />"); return print(n - 1); } print(10); </script>
这里我们来打印10个,运行效果如下
标签: JavaScript
还木有评论哦,快来抢沙发吧~