版权声明:转载请注明出处 https://blog.csdn.net/nk1212582/article/details/81323604
版权声明:转载请注明出处 https://blog.csdn.net/nk1212582/article/details/81323604
概念
当前函数:当前正在执行的函数
caller是当前函数的调用者
callee是当前函数本身
用法
functionName.caller,其中functionName是当前函数
arguments.callee,因为callee是arguments的一个属性
实例
var a = function(){
console.log(arguments.callee); //(1)
console.log(a.caller); //(2)
}
var b = function(){
a();
}
b();
(1)处的输出是
function(){
console.log(arguments.callee);
console.log(a.caller);
}
输出内容即是函数a的定义
(2)处的输出是
ƒ (){
a();
}
输出内容即是函数b的定义
注意事项
如何当前函数是由顶层调用的,那么caller的值是null
callee有一个length属性,用来获取形参的个数,即arguments.callee.length是形参的个数。另外,arguments.length是实参个数