arguments.callee用法

 

  arguments.callee 在哪一个函数中运行,它就代表哪一个函数。

   一般用在匿名函数中

  在匿名函数中有时会需要自己调用自己,但是由于是匿名函数,没有名子,无名可调。

  这时就可以用arguments.callee来代替匿名的函数。

 

(function(n){

if(n > 1) return n* arguments.callee(n-1);

return n;

})(10);

 

  上述代码就是用匿名函数实现的计算10的阶乘。用arguments.calle代替匿名函数。

 

  

 JS严格模式(use strict)下不能使用arguments.callee的替代方案

  

function(){
  arguments.callee
 };

转换为

(function fuc(){
  fuc()
 })

 

  

 

 

  

posted @ 2017-08-08 11:26  前端婴幼儿  阅读(403)  评论(0编辑  收藏  举报