callee和caller

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在严格模式下会报错

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容