js arguments.callee 和 fn.caller的用法

arguments.callee  等于这个函数的引用。

特别是在不方便表示函数引用的时候可以使用,例如立即执行函数

var demo = (function (n){
		if (n == 1){
			return 1;
		}
		return  n*arguments.callee(n-1)
		
	}(10))

上面的 arguments.callee 就相当于这个函数,解决了我们在没有函数名的情况下的调用


fn.caller     这个函数在哪个环境下调用,下面这个例子是在demo 这个函数里面调用了caller

 function demo (){
     	test();
     }
     function test (){
     	console.log(test.caller);
     }
     demo();
注意:callee 和caller 2个在ES5的严格模式下都不能使用。

猜你喜欢

转载自blog.csdn.net/weixin_41436338/article/details/80319913