JS中caller和callee

2019-02-25 15:49:48 浏览数 (1)

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

0 人点赞