比如一个JS的方法:str7是一个已知的数组function Result(str7)
        {var arraylist7 = new Array(); 
            arraylist7=str7;        }这样写好像行不通,应该怎么写?

解决方案 »

  1.   

    可以呀,你试试<script type="text/javascript">
    function Result(str7)
      {var arraylist7 = new Array(); 
      arraylist7=str7;
      alert(arraylist7);  }
      Result([0,1,2,3,4]);
    </script>
      

  2.   

    可以的
    var aaa = new Array();
        aaa.push("1");
        aaa.push("2");
        aaa.push("3");
        aaa.push("4");
        function ccc() {
            var bbb = new Array();
            bbb = aaa;
            alert(bbb[1]);
        }
        ccc();
      

  3.   


    但是关键是aaa数组里的值都是未知的参数
      

  4.   

    这样没错,你试试,空数组也行<script type="text/javascript">function Result(str7)
      {var arraylist7 = new Array(); 
      arraylist7=str7;
      alert(typeof arraylist7);
      }
      
      Result(new Array())
    </script>
      

  5.   

    单纯的只是想赋值的话,这样写是可以的。只不过。这样的方式,在arraylist7=str7;
    语句之后,不论是对arraylist7或是str7发生改变,都将影响到另一个如果你想让arraylist7成为一个独立的不受干扰的数组,那应该使用arraylist7=str7.slice();进行数组的克隆
      

  6.   

    function Result(theforever_knight) {
      return [].concat(theforever_knight);
    }
    这样也可以.
      

  7.   

    arraylist7=str7.slice();用克隆不  不然你改变任意一个数组 会2个都改变
      

  8.   


    是这样的,后台代码public Array function7(){return ArrayList1;
    }return的ArrayList1返回到JS里的Result方法中的str7,ArrayList1就是str7
    JS文件:function Result(str7)
      {var arraylist7 = new Array();  
      arraylist7=str7;  }我在想,JS里的方法中的参数是不是不支持数组格式的?
      

  9.   


    JS文件:function Result(str7)
      {var arraylist7 = new Array();   
      arraylist7=str7;
        }为何我会这样问呢,是因为我想提取的是str7数组的中的str7[1]function Result(str7)
      {    get(str7[1]);    }然后程序认为str7[1]是空值
      

  10.   

    崩溃,后台怎么能和前台这么用??先不说别的,你自己直接把ArrayList1就那么直直的输到页面中,你能看到什么??Lz,你这连服务器端和前端的基本交互都没搞明白呀。
      

  11.   

    至于楼主说的JS不能传递数组作为参数,完全错误,自己实验一下就知道了。前提是你传递的得是JS里的数组。
      

  12.   


    你理解错了,直接把ArrayList1就那么直直地输出到页面中,只是一个简化的例子public Array function7(){return ArrayList1;
    }
      

  13.   


    其实我这次提问的主题是因为我只是想提取的是str7数组的中的str7[1]function Result(str7)
      {  get(str7[1]);  }然后程序认为str7[1]是空值,而根据程序设置断点追踪后台代码的functon7所传递的值确实是一个Array数组,
    后台代码public Array function7(){return ArrayList1;
    }所以我就开始怀疑JS里的方法中的参数是否支持数组格式
      

  14.   

    Lz你连别人说话的重点都没搞清楚,就急着否定。仔细看看吧
    1:js传参当然支持数组,但前提是js中的数组,或者说符号js中数组的格式
    2:让你把后台的数组直接输出到前台,就只是为了让你自己看清楚,后台的数组那样传过来没有用
    你后台要输出一个数组给js当参数,这是可以的。但举个最简单的数组例子来说
    <script>
    var arr=<%=后台输出%>;//这个输出到前台后,你必须看到它是这个样子:[1,2,3,4,5],你现在那个看得到么?
    </script>别急着否定别人,再怎么说自己也应该静下心来看看,然后再尝试一下吧?
      

  15.   

    查了一下,后台返回的数据不是数组,但是后台的function7确实返回的是数组啊public Array function7(){
    ArrayList ArrayList1 = new ArrayList();ArrayList1.Add("2");
    ArrayList1.Add("7");
    return ArrayList1;}