递归函数是在一个函数通过名字调用自身的情况下构成的。
//ex:经典阶乘函数
function test(num){
if(num<=1){
return 1
}else{
return num*test(num-1);
}
}
console.log(5) //120
function test2(num){
if(num<=1){
return 1
}else{
return num*arguments.callee(num-1);
}
}
console.log(5) //120,arguments.callees是一个指向正在执行的函数的指针,因此也可以用它来实现对函数的递归调用