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>
you are the best!