1. 程式人生 > >JS中caller和callee

JS中caller和callee

() lee bsp pan call div col span 一個

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);

JS中caller和callee