美文网首页
callee和caller

callee和caller

作者: 放风筝的小小马 | 来源:发表于2018-09-08 21:59 被阅读15次

    callee

    属于arguments的一个属性,是一个指针,指向拥有arguments对象的函数,在函数内部,arguments.callee指向的是函数本身

    例如阶乘函数:

    function factorial(num){     
    if (num <=1) {         
      return 1;     
    } else {         
      return num * factorial(num-1)     
    } }
    
    // 改用callee实现
    function factorial(num){      
     if (num <=1) {         
        return 1;     
     } else {         
       return num * arguments.callee(num-1)     
    } } 
    

    caller

    函数对象的属性,保存着调用当前函数的函数的引用

    function outer(){     
      inner();  
    }  
    
    function inner(){     
      alert(inner.caller); 
    }  
    
    outer(); 
    

    注意

    calleecaller在严格模式下会报错

    相关文章

      网友评论

          本文标题:callee和caller

          本文链接:https://www.haomeiwen.com/subject/vbilgftx.html