码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-09-13 13:18:00      阅读:213      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!