简单理解就是函数内部不断调用自身
直接上代码:
function dg(num){ if(num<1){ return 0; }else{ return num+dg(num-1) } } console.log(dg(6))
最后输出值为21,记住加限制条件退出递归,不然会形成死循环... ...
当函数为匿名时,可以利用类数组对象arguments的callee属性
function dg(num){ if(num<1){ return 0; }else{ return num+arguments.callee(num-1)//指向函数对象本身 } } console.log(dg(6))
.