不知道怎么调用这个this.caller   高手帮忙啊 
var a=function(){
 alert(this.caller)
}
var b=function(){
new a()
}new b()//undefined

解决方案 »

  1.   


    <script type="text/javascript">
    <!--var a=function(){
         alert(arguments.callee.caller)
    }
    var b=function(){
        new a()
    }new b()//undefined//-->
    </script>
      

  2.   

    callee 属性
    返回正被执行的 Function 对象,也就是所指定的 Function 对象的正文。[function.]arguments.callee可选项 function 参数是当前正在执行的 Function 对象的名称。 说明
    callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。callee 属性的初始值就是正被执行的 Function 对象。这允许匿名的递归函数。示例
    function factorial(n){
      if (n <= 0)
      return 1;
      else
        return n * arguments.callee(n - 1)
    }
    print(factorial(3));
      

  3.   

    var a=function(){
    alert(this.caller)
    }
    var b=function(){
    a.call(a)//弹出b函数
    }
    b()