函数的递归

Posted ccxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的递归相关的知识,希望对你有一定的参考价值。

函数的递归

 

递归: 针对的是函数; 是JS中一种重要的思想;
函数: 分为定义和执行
函数递归: 在函数体内部,调用函数自己本身,让其执行;这就是递归;
var i=0;// 1 2
function fn() {
if(i>100){
return;
}
console.log(i);
i++;
fn()
}
fn();

求1-100之间是3倍数的和

% : 取模;取余数

var total = 0;
for(var i=0;i<100;i++){
if(i%3===0){
total += i;
}
}

 

递归

function sum(num) {
if(num === 0){
return num;
}
if(num%3===0){
return num + sum(num-1);
}
if(num%3!==0){
return sum(num-1);
}
// return sum(99)
// return 99 + sum(98)
// return 99 + sum(97)
// return 99 + sum(96)
// return 99 + 96 + sum(95)....
// return 99 + 96 +... + 3 + sum(2)
// return 99 + 96 +... + 3 + sum(1)
// return 99 + 96 +... + 3 + 0
}
console.log(sum(100));
console.log(sum(200));

 


以上是关于函数的递归的主要内容,如果未能解决你的问题,请参考以下文章

vue递归组件的一些理解

哈斯克尔。我很困惑这个代码片段是如何工作的

如何在自定义PyYAML构造函数中处理递归?

JavaSE 方法的使用

JavaScript - 代码片段,Snippets,Gist

Java基础之方法的调用重载以及简单的递归