1.caller返回调用当前函数的函数调用
1.这个属性只有在函数调用时才有用
2.如果在js程序中,函数是由顶层调用的话,则返回null
function a(){
console.log(a.caller);
}
function b(){
a();
}
b();//function b(){ a(); }
a();//null
2.callee返回正在执行的函数本身的引用,它是arguements的一个属性
**1.这个属性只有在函数执行时才有效
2.它有一个length属性,可以用来获取形参的个数,因此可以用来比较形参和实参的个数是否一致
3.它可以用来递归匿名函数**
function a(){
console.log(arguments.callee);
}
function b(){
a();
}
b();// function a(){ console.log(arguments.callee); }
以上就是我对caller和callee的理解啦,前端面试会出现噢,如果有更好的理解方法,找我一起分享哟,今天的分享就到这里啦,谢谢~