caller和callee的区别
文章类型:Javascript
发布者:hp
发布时间:2023-04-06
一:caller=>返回一个函数的引用,指向调用当前函数的函数
1:只有在执行时才有用
2:如果在javascript程序中,函数是由顶层调用的,则返回null
function a() {
console.log(a.caller)
}
a();//null
二:callee=>返回正在执行的函数本身的引用,它是arguments的一个属性
1:只有在函数执行时才有效
2:有一个length属性,可以用来获得形参的个数,用来比较形参和实参个数是否一致,即比较arguments.length是否等于arguments.callee.length
3: 可以用来递归匿名函数。
function a() {
console.log(arguments.callee)
}
a();