本次带来的是笔试中会遇到的callee和caller。JavaScript中callee和caller的,他们分别有什么作用
1.callee是函数arguments对象内的指针,它指向当前的函数,使得在函数内部递归调用当前函数时,不需要调用函数名称,减少函数内部对于函数名的依赖
[JavaScript] 纯文本查看 复制代码 function test() {
console.log(arguments.callee);
}
test();
2.caller是函数的一个属性,它指向调用当前函数的函数,如果当前函数在其他函数内被调用,则返回调用它的那个函数,如果是在全局环境下被调用,则返回 null
可以利用caller的特性跟踪函数的调用链
[JavaScript] 纯文本查看 复制代码 function fn1() {
console.log(fn1.caller);
console.log(arguments.callee.caller);
}
function fn2() {
fn1()
}
fn2();
|