function test(){
console.log(arguments.callee == test) //true
}
arguments的callee函数指向函数本身的引用,例如在使用立即执行函数做初始化的时候,我们无法直接通过函数名来找到函数本身,那么我们可以用callee来找到函数本身.
var init = (function(n){
if(n == 1){
return 1;
}
return n * arguments.callee(n - 1);
}(100));
arguments本身只有callee和length属性
function test(){
arguments.callee //test本身
function demo(){
arguments.callee //demo本身
}
}
caller不是arguments的属性,而是指向函数执行的那个环境
function test(){
function demo(){
demo.caller //指向它运行的环境,test
}
}
test()
网友评论