JS中caller和callee

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)//
}
func(1);
上一篇:Daily Scrum5


下一篇:兼容IE, Chrome的ajax function