caller:
caller是函数对象的一个属性,指的是这个函数对象的调用者,如果调用者,如果是顶层调用者,则返回null.
例:
代码语言:javascript复制function func(){
console.log(func.caller);
}
function obj(){
func();// 调用者为obj函数
}
obj();
func(); //调用者为顶级对象 所以为null
callee
callee则是arguments对象的一个属性,该属性指向本函数的引用
代码语言:javascript复制 function func(){
console.log(arguments.callee)//当前callee指向func函数的引用
}
func();
callee属性有一个length属性,length为当前函数形参属性.
代码语言:javascript复制 function func(a,b){
console.log(arguments.callee.length)// 2
}
func(1);