JS中caller和callee

Posted 莫问今朝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

 

以上是关于JS中caller和callee的主要内容,如果未能解决你的问题,请参考以下文章

js中的caller属性和callee属性

Js中caller和callee的区别

Js中caller和callee的区别

js--callee与caller

js的隐含参数(arguments,callee,caller)使用方法

js中callee与caller的区别