代码和结果

		function a(){
			console.log("a.caller",a.caller);
			console.log("arguments.callee",arguments.callee);
		}
		(function b(){
			a()
		})();

关于caller和callee的对比

对比

  • caller是通过函数来调用,返回的是该函数的调用环境,也就是调用栈的最顶层(当最顶层为全局作用域时,返回null)
  • callee是通过arguments对象来调用,返回的是执行时的函数环境,通常用于匿名函数递归调用自身

 

注意

在ES5严格模式中,该方法被废弃不再使用

关于caller和callee的对比

相关文章:

  • 2021-12-27
  • 2021-06-27
  • 2021-06-12
  • 2021-08-11
  • 2021-11-17
  • 2022-12-23
  • 2021-07-07
  • 2021-07-24
猜你喜欢
  • 2021-11-05
  • 2022-12-23
  • 2021-11-28
  • 2021-06-30
  • 2022-12-23
相关资源
相似解决方案