簡單理解就是函數內部不斷調用自身
直接上代碼:
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))
.