function a()
{
alert(a.caller.arguments[0])
}
function fun()
{
a();
}fun(1);

解决方案 »

  1.   

    谢谢 
    function a(){
    alert(Array.apply(null,arguments))
    alert(Array.apply(null,arguments)[0])
    alert(arguments[0])
    }
    a(33)
    Array.apply(null,arguments[0]  怎么不行啊?
      

  2.   

    function a()
    {
        alert(Array.apply(null,a.caller.arguments))
    }
    function fun()
    {
       a();
    }fun(1);这样怎么不行啊?
      

  3.   


    <script language="JavaScript">
    <!--
    function a()
    {    alert(Array.prototype.slice.apply(a.caller.arguments))
    }
    function fun()
    {
       a();
    }fun(1);
    //-->
    </script>
      

  4.   

    直接用Array.apply会有问题 用Array.prototype.slice
      

  5.   

    function b(){
        a();
    }
    function a(){
     var args=[];
     var i,nLen=a.caller.arguments.length;
     for(i=0;i<nLen;i++){
         args.push(a.caller.arguments[i]);
     }
       alert(args);
    }b(1,2,3);
      

  6.   

    arguments对象不是数组,所以toString方法和Array不一样,转换过来就好了