js arguments.callee & caller的用法及区别

在函数内部,arguments.callee该属性是一个指针,指向拥有这个arguments对象的函数;

而函数对象的另一个属性:caller,这个属性保存着调用当前函数的函数的引用,如果是在全局作用域中调用当前函数,它的值为null。

 1 <script type="text/javascript">
 2 function inner(){
 3     alert(arguments.callee);    //指向拥有这个arguments对象的函数,即inner()
 4     alert(arguments.callee.caller);//这个属性保存着调用当前函数的函数的引用,即outer()
 5 }
 6 function outer(){
 7     inner();
 8 }
 9 outer();
10 </script>

 

posted @ 2015-01-16 16:39  林锅  阅读(180)  评论(0编辑  收藏  举报