因为只实例化了一个对象,操作的时候都是修改这个对象,而达不到楼主的需求
可以改成下面的
<script language="javascript">
var imgtable = new Array();
var newobj0 = new Object();
var newimg = new Image();
var xmlobj;
xmlobj ="051031.jpeg";
newimg.src =xmlobj; 
newobj0.xpos = parseInt(100);
newobj0.ypos = parseInt(5);
newobj0.imgobj = newimg;
imgtable.push(newobj0);
var newobj1 = new Object();
xmlobj ="051032.jpeg";
newimg.src =xmlobj; 
newobj1.xpos = parseInt(200);
newobj1.ypos = parseInt(10);
newobj1.imgobj = newimg;
imgtable.push(newobj1);
var newobj2 = new Object();
xmlobj ="051033.jpeg";
newimg.src =xmlobj; 
newobj2.xpos = parseInt(300);
newobj2.ypos = parseInt(15);
newobj2.imgobj = newimg;
imgtable.push(newobj2);
var newobj3 = new Object();
xmlobj ="051033.jpeg";
newimg.src =xmlobj; 
newobj3.xpos = parseInt(400);
newobj3.ypos = parseInt(20);
newobj3.imgobj = newimg;
imgtable.push(newobj3);var strr ="sss";
for (var k = 0 ; k < imgtable.length ; k++)
{
  alert(k);
  alert(imgtable[k].xpos);
  alert(imgtable[k].ypos);
  //alert(imgtable[k].newimg.src);  
  
}
alert(imgtable.length);
</script>

解决方案 »

  1.   

    我push 进去了呀  为什么还会这样?
      

  2.   

    //这样来push吧
    <script language="javascript">
    var imgtable = new Array();
    var newobj = new Object();
    var newimg = new Image();
    var xmlobj;
    xmlobj ="051031.jpeg";
    newimg.src =xmlobj; 
    newobj.xpos = parseInt(100);
    newobj.ypos = parseInt(5);
    newobj.imgobj = newimg;
    imgtable.push(newobj);
    newobj=[];
    xmlobj ="051032.jpeg";
    newimg.src =xmlobj; 
    newobj.xpos = parseInt(200);
    newobj.ypos = parseInt(10);
    newobj.imgobj = newimg;
    imgtable.push(newobj);
    newobj=[];
    xmlobj ="051033.jpeg";
    newimg.src =xmlobj; 
    newobj.xpos = parseInt(300);
    newobj.ypos = parseInt(15);
    newobj.imgobj = newimg;
    imgtable.push(newobj);
    newobj=[];xmlobj ="051033.jpeg";
    newimg.src =xmlobj; 
    newobj.xpos = parseInt(400);
    newobj.ypos = parseInt(20);
    newobj.imgobj = newimg;
    imgtable.push(newobj);var strr ="sss";
    for (var k = 0 ; k < imgtable.length ; k++)
    {
      alert(k);
      alert(imgtable[k].xpos);
      alert(imgtable[k].ypos);
      //alert(imgtable[k].newimg.src);  
      
    }
    alert(imgtable.length);
    </script>
      

  3.   

    这个是由于虽然push到数组了,但是对象的指针仍指向原来那个对象的地址,并没有产生一个新的对象。
      

  4.   

    ... 对js 不是很熟悉难道我push 的是一个对象的引用? 而不是对象的一个拷贝?
      

  5.   

    是啊,只是把对象的指针push进去了
    当下面指针指向改变时,就会改变其中的值,这个在很多其他语言中也存在这种情况