function stationObj() {
        var stobj = new Object();
        
        stobj.data1 = "";    //数据1
        stobj.data2 = "";
        stobj.data3 = "";
 
        return stobj;
    };
     
    var a=[],b=[];
    var obj = stationObj();
var obj1 = stationObj();
    obj.data1 = obj1.data1 = "1";
    obj.data2 = obj1.data2 = "2";
    a.push(obj);
    b.push(obj1);
     
    document.writeln(a[0].data2);
    document.writeln(b[0].data2);
     
    b[0].data2="250";
    document.writeln(a[0].data2);
    document.writeln(b[0].data2);
你这前的push到a、b数组里的对象是同一个。
对象只有一个,通过引用访问它的, 其实你那两个数组里放的是两个引用 ,详细的知识你可以去网上找找, 这是编程的基础