JavaScript中匿名函数的递归(使用arguments和callee属性实现)

时间:2022-06-17
本文章向大家介绍JavaScript中匿名函数的递归(使用arguments和callee属性实现),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

arguments和callee属性

函数的内部调用函数本身的话,可以直接写函数的名字来实现,但是如果是匿名函数的话,这样的做法就行不通了。 解决的办法是有的,使用arguments和callee属性的话就可以调用函数本身了。arguments对象是函数被调用的时候自动生成的,而callee属性就是这个函数本身的引用,使用这种方法的话,即使是匿名函数也可以实现递归。 如下:可以使用setTimeout+arguments.callee组合来实现。

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