callee
屬于arguments的一個(gè)屬性,是一個(gè)指針,指向擁有arguments對(duì)象的函數(shù),在函數(shù)內(nèi)部,arguments.callee指向的是函數(shù)本身
例如階乘函數(shù):
function factorial(num){
if (num <=1) {
return 1;
} else {
return num * factorial(num-1)
} }
// 改用callee實(shí)現(xiàn)
function factorial(num){
if (num <=1) {
return 1;
} else {
return num * arguments.callee(num-1)
} }
caller
函數(shù)對(duì)象的屬性,保存著調(diào)用當(dāng)前函數(shù)的函數(shù)的引用
function outer(){
inner();
}
function inner(){
alert(inner.caller);
}
outer();
注意
callee和caller在嚴(yán)格模式下會(huì)報(bào)錯(cuò)