<script>function sum(num){if(num<=1){return 1;}else{return num*sum(num-1);//return num*arguments.callee(num-1); //指针//return 2;}}var sum1=sum;sum=null; alert(sum1(2));</script>
上面的代码 在执行时很容易出现问题,执行我们介绍一个方法,arguments.callee,是一个指向正在执行的函数的指针,使用指针代替函数名使得执行以上代码时不容易出错!
参考资料:Javascript高级程序语言3版 7.1递归
新闻热点
疑难解答