递归函数
//递归函数:可以理解为函数内部调用自身使用。 //调用方法有两种,第一种直接使用自身的函数名,第二种使用arguments.callee,arguments.callee是一个指向正在执行的函数的指针 function factorial(num) { //不推荐使用,factorial变了的时候,里面的也得变 if (num <= 1) { return 1; } else { return num * factorial(num-1); } } //使用arguments.callee不会出现这种问题 var anotherFactorial = factorial; factorial = null; alert(anotherFactorial(4));//error function factorial2(num) { if (num <= 1) { return 1; } else { return num * arguments.callee(num-1); } }