首页 > Web开发 > 详细

js 方法中内部属性arguments的callee属性

时间:2015-09-13 13:16:09      阅读:212      评论:0      收藏:0      [点我收藏+]

 var factorial=function(num){

      if(num<=1)

          return 1;

      else

         // return num*factorial(num-1);//递归时,在方法内部通过该方法的方法名来调用自己是非常危险的,因为js可以直接修改方法变脸的值

        return num*arguments.callee(num-1);//递归时,应该使用方法内部属性arguments的callee属性,它保存了当前方法的地址(指针)

}

 var another=factorial;

  factorial=function(){

       return 1;

}

   alert(another(5));

   alert(another(5));

 

js 方法中内部属性arguments的callee属性

原文:http://www.cnblogs.com/xjt360/p/4804593.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!