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

时间:2022-11-22 22:37:15

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

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

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