十七 callee caller

arguments.callee   

//在函数执行时,指向函数引用

function test ( ) {

        console.log ( arguments.callee) ; 

         // function test ( ) { console.log (arguments.callee) ;  }

        console.log ( arguments.callee == test) ;   //true

}

test ( ) ;


应用:

var num = ( function( n ){

        if ( n == 1){ return 1;}

        return n * arguments.callee( n - 1);

}(20));



function.caller

function test(){

    demo();

}

function demo(){

    console.log( demo.caller ); 

   //  被调用的环境   function test(){demo();}

}

test();


以上两个方法在严格模式中会报错,不可以使用

arguments上只有length 和 callee 两个属性

你可能感兴趣的:(十七 callee caller)