Loading

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)//  2
 }
 func(1);

 

posted @ 2018-01-10 17:39  莫问今朝乄  阅读(241)  评论(0编辑  收藏  举报