函数的caller属性返回的是调用当前函数的上层函数,caller的初始值是null。当函数没有被其他函数调用时caller的值为null。
function b(){
function c(){
console.log(c.caller);
}
c();
}
b();
结果:
function b(){
function c(){
console.log(c.caller);
}
c();
}
函数调用完成后,caller属性又恢复成null。
callee是arguments对象的属性,也是返回调用该函数的函数。跟caller用法类似。