今天写了一个程序,需要使用一个Javascript函数传递一个对象,代码如下:for (var i = 0; i < customers.length; i++) {
var custom = customers[i];
showName(custom);
} 这样写,传递过去的都是数组的最后一个对象,即customers[customer.length-1];这个我到还能理解
可是,为了达到我想要的目的,代码改为如下:
for (var i = 0; i < customers.length; i++) {
var custom = new Object();
custom = customers[i];
        showName(custom);
}
结果传递过去的仍然是数组的最后一个值,这到底是为什么呢,怎么才可以实现传递一个当前值(customers[i])呀!

解决方案 »

  1.   

    不可能是你说的:结果传递过去的仍然是数组的最后一个值。
    可能是你代码其他地方出现了问题。
    你测试下边的代码就知道了:
    <html>
    <head>
    </head>
    <script type="text/javascript">   
    var customers = [];
    customers[0] = "0";
    customers[1] = "1";
    customers[2] = "2";
    for (var i = 0; i < customers.length; i++) {
        var custom = customers[i];
        showName(custom);
    }  function showName(custom)
    {
    alert(custom);
    }
    </script>
    <body>
    </body>
    </html>
      

  2.   

    javascript中函数是不是可以直接传对象,不传引用呢!