递归函数介绍
- 众所周知所谓的递归函数就是在函数体内调用本函数,但是使用递归函数一定要注意,处理不当就会进入死循环,递归函数只有在特定的情况下使用 。
递归函数的原理介绍
- 接下来我通过一个简单的小demo来说明递归的原理,废话不多说直接上代码
function computes(n){
var i = 0;
for(var c=1;c<=n;c++){
i+=c;
}
return i
}
- 是不是看着很迷糊,没关系我们来分解下代码一步一步讲解你就明白了。
- 首先我先定义了一个数值作为计算的初始值i=0,之后进行循环
for(var c=1;c<=n;c++){
i+=c;
}
- 把function(n)的n参数带入循环进行计算,用于n的阶加。
- 把n带入递归,n循环调用自己:
- 1.1+2
- 2.3+3
- 3.6+4
- 4.10+5
- 5.15+6
- ........
- 100.4950+100
- 通过不、不断地调用自己实现递归的调用,最后把最后的结果抛出return i这样外部就能取到i这个结果了,这里注意一下最好定义的函数不要和其他函数重名。
- 想要查看就调用下面这段代码:
window.onload=function(){
var a=document.write(computes(100));
console.log(a);
}
- 既能在页面上看到计算的结果也能在控制台看到打印出来的结果。
- 最后再贴一下所有源码
function computes(n){
var i = 0;
for(var c=1;c<=n;c++){
i+=c;
}
return i
}
window.onload=function(){
var a=document.write(computes(100));
console.log(a);
}
- 这样我们通过简单的几行代码就实现了递归的调用,有的人就想问了,你还没说递归的原理呢,其实我们通过上面的例子就可以了解到递归的原理,简单一句话概括就是函数的递归就是在函数中调用自身。概念就是这样了,就看你怎么灵活的调用了。
- 如果还有不足的地方请大家指正,我会再尽心修改的。
- 参考博文: blog.csdn.net/genius_yym/…