arguments和callee属性
函数的内部调用函数本身的话,可以直接写函数的名字来实现,但是如果是匿名函数的话,这样的做法就行不通了。 解决的办法是有的,使用arguments和callee属性的话就可以调用函数本身了。arguments对象是函数被调用的时候自动生成的,而callee属性就是这个函数本身的引用,使用这种方法的话,即使是匿名函数也可以实现递归。 如下:可以使用setTimeout+arguments.callee组合来实现。
代码语言:javascript复制var count = 0;
(function(){
if(count<10)
{
console.log(count "callee");
}
count ;
arguments.callee();//递归
//或
//setTimeOut(arguments.callee,1000);
})();
执行结果:
我的博客即将同步至腾讯云 社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=24a4nfrmebi84