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