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();
注意
callee
和caller
在严格模式下会报错
网友评论